Я работаю с Paramiko 2.7.1, использую простую клиентскую реализацию для запуска команд на удаленных серверах S SH.
На большинстве моих хостов это прекрасно работает. Входные команды go out, выход (если существует) возвращается.
Один указанный тип c хоста (точнее, раздел IBM V IOS) вызывает у меня головную боль в том, что команды выполняются , но вывод всегда пуст. Я использовал PuTTY в интерактивном сеансе для регистрации всех пакетов S SH и проверки на наличие различий и, по крайней мере, во время интерактивного сеанса, различий между рабочим и нерабочим хостом нет. Я включил ведение журнала Paramiko с:
basicConfig(level=DEBUG)
logging.getLogger("paramiko").setLevel(logging.DEBUG)
log_to_file('ssh.log')
Но вывод не выводит каждый пакет. Я выполнил поиск любых параметров или методов, которые бы сбрасывали эти пакеты, но я пришел пустым. Wireshark не вариант, так как речь идет о зашифрованном соединении. Я предпочел бы продолжать использовать exec_command
вместо того, чтобы реорганизовать все и адаптироваться к использованию оболочки S SH. Итак, в конце концов. Есть ли способ сбросить весь сеанс S SH с Paramiko? Я могу обрабатывать либо S SH пакеты, либо необработанные данные.
Редактировать 1: Я вспомнил, что PuTTY plink.exe
выполняет команды sh exe c, поэтому я использовал его для сравнения и вывод сервера S SH, и наткнулся на решение моей базовой проблемы: https://www.ibm.com/support/pages/unable-execute-commands-remotely-vio-server-padmin-user-ssh
Тем не менее, я бы предпочел захватить сеанс с Paramiko, так как не всегда смогу моделировать с помощью других инструментов ...