如何通过SSH服务Python CLI应用程序

Teh*_*wiz 5 python ssh twisted

我正在用python编写一个带有Urwid前端和MongoDB后端的应用程序.最终目标是能够通过SSH为应用程序提供服务.该应用程序具有自己的身份验证/身份系统.我并不担心为每个用户启动新进程的开销,预期的并发用户数很少.由于客户端不会调用任何状态信息,而是全部存储在数据库中,因此除了认证目的之外,我并不关心会话.

我想知道是否有任何方法来提供应用程序,而无需滚动我自己的套接字服务器代码或使用Twisted重新编写应用程序代码.老实说,我不知道Urwid和Twisted是如何一起玩的.我看到Urwid有一个TwistedEventLoop方法,声称使用扭曲的反应器,但我找不到任何通过扭曲连接运行Urwid应用程序的示例代码.可以理解的例子,即使是简单的例子.我也看过ZeroMQ,但这似乎比Twisted更难以理解.简而言之,我探索了许多不同的库,这些库旨在通过tcp为应用程序提供服务,其中大多数都是通过telnet服务的.而且几乎所有人都专注于http.

最糟糕的情况我希望我可以创建一个极度锁定的用户作为全局登录并使用chrooted SSH会话.这样每个用户都可以获得自己的chroot/process/client.是的,我知道这可能是一个"非常糟糕的想法(tm)".但我不得不把它扔出去作为一种可能性.

我感谢任何建设性的反馈.侮辱,谴责和傲慢将被愁眉苦脸,打印出来并吐口水.

-CH

Ign*_*ams 1

由于应用程序进行自己的身份验证,因此您可以通过xinetd转储它并让它处理 I/O。然后用户只需远程登录到适当的端口即可使其工作。