使用pxssh时读取非阻塞错误(用于python的ssh模块)

时间:2011-05-16 02:24:40

标签: python ssh

我正在尝试使用pxssh moudule使用python脚本在远程计算机上执行ssh。

以下是我用于相同代码的行:

    s = pxssh.pxssh()
    s.login (hostip,'root',auto_prompt_reset=False)

但是这给了我以下TIMEOUT错误。

  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().

2 个答案:

答案 0 :(得分:3)

我已经更改了python库,而是使用了更稳定的paramiko,并没有出现上述错误。

答案 1 :(得分:2)

我遇到了同样的问题。这篇文章(http://bytes.com/topic/python/answers/760027-read_nonblocking-error-pxssh)有解决方案。

“我刚才在。之前添加了一个self.sendline()和一个time.sleep(0.5) 首先在synch_original_prompt()中调用read_nonblocking()“

这解决了我的问题。

相关问题