1

我正在尝试制作一个打开 ssh 连接并允许通过 ssh 发送命令并返回命令输出的小模块。因此,应该只有一个 ssh 连接(这样多个命令不会导致自动阻塞)。我知道 paramiko,但我不能使用它,因为由于其他限制,我必须使用 python3.2。

我写的模块在这里:http: //kbicker.web.cern.ch/kbicker/ssh.py

原则上,它有效。但是,当使用 cat 读取文本文件时,程序会挂起。我确定这是因为从 pty 读取新行挂起。我认为,存在某种缓冲问题,但我不知道如何解决它。

对于我的代码的任何其他建议,我也将不胜感激。

预先感谢您的帮助!

4

2 回答 2

1

解决了,或者至少解决了它:

通过使用带有 ssh -M 选项的线程,我可以打开一个主 ssh 连接并让命令打开它们自己的 ssh 子进程,该子进程通过主连接进行连接,从而减少了打开多个连接的需要。

于 2011-10-22T11:30:52.457 回答
0

尝试pexpect。我遇到了类似的问题,它解决了它。

于 2011-10-14T09:25:17.050 回答