Я пытаюсь выполнить скрипт Python (с циклом) для подключения в SSH, он работает, если все хорошо (пароль и маршрут), но прекратите, когда он не работает (неправильный пароль или нет маршрутов к хост). Вот важная часть сценария, как я могу контролировать, если все работает?Python Script 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()
Я получаю ошибку:
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'
Благодарности
Каковы ошибки, которые вы получаете? Причина, по которой вы могли бы поместить свой код в блок try и поймать ошибку, если пароль неверен, и снова попросите пользователя ввести пароль. Можете ли вы опубликовать несколько примеров своего кода, где он терпит неудачу, а также полную трассировку ошибок? – Harrison
Traceback (самый последний вызов последнего): Файл "script.py", строка 21, в connexion.expect ('>') Файл «/usr/lib/python2.7/dist-packages/pexpect/__init__ .py ", строка 1418, в ожидании timeout, searchwindowsize) Файл« /usr/lib/python2.7/dist-packages/pexpect/__init__.py », строка 1433, в списке ожидающих тайм-аут, поиск) Файл" /usr/lib/python2.7/dist-packages/pexpect/__init__.py ", строка 1521, в expect_loop raise EOF (str (err) + '\ n' + str (self)) pexpect.EOF: End Файл (EOF). Платформа стиля исключения. –
77140B
Можете ли вы добавить эту ошибку к своему оригинальному сообщению и отформатировать его, чтобы он был легко читаемым? – Harrison