使用pxssh(python的ssh模块)时出现读取非阻塞错误
我尝试在远程机器上使用pxssh模块,使用python脚本执行ssh 以下是我用于相同目的的代码行:使用pxssh(python的ssh模块)时出现读取非阻塞错误,python,ssh,Python,Ssh,我尝试在远程机器上使用pxssh模块,使用python脚本执行ssh 以下是我用于相同目的的代码行: s = pxssh.pxssh() s.login (hostip,'root',auto_prompt_reset=False) 但这给了我以下超时错误 Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/py
s = pxssh.pxssh()
s.login (hostip,'root',auto_prompt_reset=False)
但这给了我以下超时错误
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.6/dist-packages/pxssh.py", line 243, in login
if not self.synch_original_prompt():
File "/usr/local/lib/python2.6/dist-packages/pxssh.py", line 134, in synch_original_prompt
self.read_nonblocking(size=10000,timeout=1) # GAS: Clear out the cache before getting the prompt
File "/usr/local/lib/python2.6/dist-packages/pexpect.py", line 824, in read_nonblocking
raise TIMEOUT ('Timeout exceeded in read_nonblocking().')
pexpect.TIME
OUT: Timeout exceeded in read_nonblocking().
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/usr/local/lib/python2.6/dist-packages/pxsh.py”,第243行,登录
如果不是self.synch_original_prompt():
文件“/usr/local/lib/python2.6/dist packages/pxsh.py”,第134行,在同步提示下
self.read_nonblocking(大小=10000,超时=1)#GAS:在得到提示之前清除缓存
文件“/usr/local/lib/python2.6/dist packages/pexpect.py”,第824行,以只读非阻塞方式
raise TIMEOUT('在read_nonblocking()中超过超时。')
预期时间
OUT:在read_nonblocking()中超过超时。
我更改了python库,改为使用paramiko,它更稳定,不会出现上述错误。我也遇到了同样的问题。这篇文章()提供了解决方案
“我刚刚添加了一个self.sendline()和一个time.sleep(0.5),就在
在synch\u original\u prompt()中首次读取\u nonblocking()调用“
这为我解决了问题。您是否尝试了中介绍的解决方法(包括稍微更改pxssh代码?)