Ich versuche ein Python-Skript (mit einer Schleife) zu verbinden in SSH, es funktioniert, wenn alles gut ist (Passwort und Route), aber aufhören, wenn es nicht funktioniert (falsches Passwort oder keine Routen zu Host). Hier ist der wichtige Teil des Skripts, wie kann ich kontrollieren, ob alles funktioniert?Python Skript Pexpect SSH
connexion = pexpect.spawn("ssh -o StrictHostKeyChecking=no "+user+"@" + ip)
index=connexion.expect(':')
connexion.sendline(password + "\r")
connexion.expect('>')
connexion.sendline('show clock \r')
connexion.expect('>')
connexion.sendline('exit')
connexion.close()
ich den Fehler:
Traceback (most recent call last):
File "script.py", line 21, in <module>
connexion.expect('>')
File "/usr/lib/python2.7/dist-packages/pexpect/__init__.py", line 1418, in expect
timeout, searchwindowsize)
File "/usr/lib/python2.7/dist-packages/pexpect/__init__.py", line 1433, in expect_list
timeout, searchwindowsize)
File "/usr/lib/python2.7/dist-packages/pexpect/__init__.py", line 1521, in expect_loop
raise EOF(str(err) + '\n' + str(self))
pexpect.EOF: End Of File (EOF). Exception style platform.
<pexpect.spawn object at 0x7fcfeecee750>
version: 3.1
command: /usr/bin/ssh
args: ['/usr/bin/ssh', '-o', 'StrictHostKeyChecking=no', '[email protected]']
searcher: <pexpect.searcher_re object at 0x7fcfeecee850>
buffer (last 100 chars): ''
before (last 100 chars): ' connect to host 10.9.128.5 port 22: No route to host\r\r\npassword\r\n\r\n'
Dank
Was sind die Fehler, die Sie bekommen? Denn Sie könnten Ihren Code möglicherweise in einen try-Block setzen und den Fehler abfangen, wenn das Passwort falsch ist, und den Benutzer erneut nach dem Passwort fragen. Können Sie einige Beispiele Ihres Codes, wo es fehlschlägt, sowie die vollständige Fehlerrückverfolgung posten? – Harrison
Traceback (jüngste Aufforderung zuletzt): File "script.py", Zeile 21, in connexion.expect ('>') File „/usr/lib/python2.7/dist-packages/pexpect/__init__ .py ", Zeile 1418, in expect timeout, searchwindowsize) Datei" /usr/lib/python2.7/dist-packages/pexpect/__init__.py ", Zeile 1433, in expect_list timeout, searchwindowsize) Datei" /usr/lib/python2.7/dist-packages/pexpect/__init__.py ", Zeile 1521, in expect_loop Erhöhe EOF (str (err) + '\ n' + str (self)) pexpect.EOF: Ende Datei (EOF). Ausnahmestil-Plattform –
77140B
Können Sie diesen Fehler zu Ihrem ursprünglichen Beitrag hinzufügen und formatieren Sie es bitte so, dass es leicht lesbar ist? – Harrison