在使用pxssh(ssh模块for python)时读取非阻塞错误
问题描述:
我想在使用pxssh moudule的python脚本的远程计算机上执行ssh。在使用pxssh(ssh模块for python)时读取非阻塞错误
这里是我使用相同的代码行:
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().
答
我已经改变了python库,而是使用更稳定的paramiko,并没有给出上述错误。
答
我有同样的问题。这篇文章(http://bytes.com/topic/python/answers/760027-read_nonblocking-error-pxssh)有解决方案。
“我只是增加了一个self.sendline()和synch_original_prompt内 第一read_nonblocking()调用前右一time.sleep(0.5)()”
这解决了这个问题对我来说。
您是否尝试了http://mail.python.org/pipermail/python-list/2008-February/1178169.html中提供的解决方法(涉及轻微更改pxssh代码?) – a3nm 2011-05-16 04:08:22