У меня проблема с голосовым переключателем ShoreTel, и я пытаюсь использовать Paramiko, чтобы прыгнуть в него и выполнить пару команд. Я считаю, что проблема может заключаться в том, что интерфейс командной строки ShoreTel выдает подсказки, отличные от стандартных Linux $
. Это выглядело бы так:
server1$:stcli
Mitel>gotoshell
CLI> (This is where I need to enter 'hapi_debug=1')
Python все еще ожидает, что $
, или я что-то упускаю?
Я думал, что это может быть время, поэтому я поместил эти time.sleep(1)
между командами. По-прежнему, похоже, не принимает.
import paramiko
import time
keyfile = "****"
User = "***"
ip = "****"
command1 = "stcli"
command2 = "gotoshell"
command4 = "hapi_debug=1"
ssh = paramiko.SSHClient()
print('paramikoing...')
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname = ip, username = User, key_filename = keyfile)
print('giving er a go...')
ssh.invoke_shell()
stdin, stdout, stderr = ssh.exec_command(command1)
time.sleep(1)
stdin, stdout, stderr = ssh.exec_command(command2)
time.sleep(1)
stdin, stdout, stderr = ssh.exec_command(command4)
time.sleep(1)
print(stdout.read())
ssh.close()
print("complete")
Что бы я ожидал от успешного выполнения этого кода, было бы для уровня hapi_debug
равным 1. Что означает, что когда я SSH вЯ бы хотел увидеть эти отладки HAPI. Когда я это делаю, я не вижу этих отладок.