J'essaie de faire ssh sur une machine distante en utilisant un script python en utilisant pxssh moudule.
Voici les lignes de code que j'utilise pour la même chose:
s = pxssh.pxssh()
s.login (hostip,"root",auto_prompt_reset=False)
Mais cela me donne l'erreur TIMEOUT suivante.
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().
Réponses:
3 pour la réponse № 1J’ai changé la bibliothèque python et au lieu d’utiliser paramiko, qui est beaucoup plus stable et ne donne pas l’erreur ci-dessus.
2 pour la réponse № 2
J'ai eu le même problème. Ce post ( http://bytes.com/topic/python/answers/760027-read_nonblocking-error-pxssh ) avait la solution.
"Je viens d'ajouter un self.sendline () et un time.sleep (0.5) juste avant le premier appel de read_nonblocking () dans synch_original_prompt () "
Cela a résolu le problème pour moi.