Ich versuche, einen Schalter Juniper mit pexpect Bibliothek zu verbinden einige Schnittstellen Informationen zu bekommen, hier ist mein Code:Python, pexpect an einen Switch verbinden mit
import pexpect
child = pexpect.spawn('ssh [email protected]')
child.expect('login as: ')
child.sendline('root')
child.expect('password:')
child.sendline(mypassword)
child.expect('% ')
child.sendline('cli')
child.expect('> ')
child.sendline('show interface')
Hier ist das Ergebnis:
Traceback (most recent call last):
File "first_test.py", line 4, in <module>
child.expect('login as: ')
File "/usr/lib/python2.7/site-packages/pexpect.py", line 1311, in
expect
return self.expect_list(compiled_pattern_list, timeout,
searchwindowsize)
File "/usr/lib/python2.7/site-packages/pexpect.py", line 1325, in
expect_list
return self.expect_loop(searcher_re(pattern_list), timeout,
searchwindowsize)
File "/usr/lib/python2.7/site-packages/pexpect.py", line 1409, in
expect_loop
raise TIMEOUT (str(e) + '\n' + str(self))
pexpect.TIMEOUT: Timeout exceeded in read_nonblocking().
<pexpect.spawn object at 0x7fb21cfd5a50>
version: 2.3 ($Revision: 399 $)
command: /usr/bin/ssh
args: ['/usr/bin/ssh', '[email protected]']
searcher: searcher_re:
0: re.compile("login as: ")
buffer (last 100 chars): [email protected]'s password:
before (last 100 chars): [email protected]'s password:
after: <class 'pexpect.TIMEOUT'>
match: None
match_index: None
exitstatus: None
flag_eof: False
pid: 20230
child_fd: 3
closed: False
Es scheint, dass das Passwort nicht an den Switch gesendet wird. Ich bin ein neuer Python-Benutzer, tut mir leid, wenn es nicht klar ist. Wie kann ich richtig mit dem Schalter verbinden?
Vielen Dank für Ihre Antwort, aber da mein Skript sehr portabel sein muss, muss ich pexpect verwenden. Ich werde versuchen Stoff als meine letzte Option, danke. – manoman