paramiko_expect взаимодействует, не отправляя команды - PullRequest
0 голосов
/ 04 октября 2019

Я пытаюсь написать скрипт Python, который входит в систему Cisco CallManager через SSH и выполняет команду, выводит все выходные данные на терминале и записывает его в файл. Все выглядит хорошо. Вход в систему работает, я вижу, как терминал выводит вывод, и он записывает этот вывод в файл, но по какой-то причине команда не вводится.

Я просмотрел кучу разных постов по этому поводу, и ДЕЙСТВИТЕЛЬНО похоже, что мой код должен работать, но он просто не вводит команду.

callManager = "1.1.1.1"
username = "admin"
password = "pword"

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(callManager, username=username, password=password)
interact = SSHClientInteraction(ssh, timeout=180, display=True)
interact.expect("admin:")
interact.send("show status")
output = interact.current_output_clean
ssh.close()
ip_file_name = callManager.replace(".","_")
output_file = "{}.txt".format(ip_file_name)
with open(output_file, "w") as out:
    out.write(output)

Скриптзавершается без ошибок. Он даже пишет в файл. Я могу видеть, где он попадает в приглашение «admin:», но затем он просто завершается. Он не вводит команду.

Любая помощь будет принята с благодарностью.

...