Ich versuche, SSH auf einem Remote-Computer mit einem Python-Skript unter Verwendung von pxssh moudule auszuführen.
Hier sind die Codezeilen, die ich für dasselbe benutze:
s = pxssh.pxssh()
s.login (hostip,"root",auto_prompt_reset=False)
Dies gibt mir jedoch den folgenden TIMEOUT-Fehler.
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().
Antworten:
3 für die Antwort № 1Ich habe die Python-Bibliothek geändert und stattdessen paramiko verwendet, das viel stabiler ist und den obigen Fehler nicht gibt.
2 für die Antwort № 2
Ich hatte das gleiche Problem. Dieser Beitrag ( http://bytes.com/topic/python/answers/760027-read_nonblocking-error-pxssh ) hatte die Lösung.
"Ich habe gerade eine self.sendline () und eine time.sleep (0.5) direkt vor dem hinzugefügt erster read_nonblocking () - Aufruf innerhalb von synch_original_prompt () "
Das hat das Problem für mich gelöst.