Ошибка чтения неблокирования при использовании pxssh (модуль ssh для python) - PullRequest
5 голосов
/ 16 мая 2011

Я пытаюсь выполнить ssh на удаленной машине, используя скрипт python, используя pxssh moudule.

Вот строки кода, которые я использую для того же самого:

    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 ]

3 голосов
/ 16 мая 2011

Я изменил библиотеку python и вместо этого использую paramiko, который намного более стабилен и не выдает вышеуказанную ошибку.

2 голосов
/ 01 сентября 2011

У меня была такая же проблема. Этот пост (http://bytes.com/topic/python/answers/760027-read_nonblocking-error-pxssh) имел решение.

"Я просто добавил self.sendline () и time.sleep (0.5) прямо перед первый вызов read_nonblocking () внутри synch_original_prompt () "

Это решило проблему для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...