Эмулируйте Интерактивный SSH-клиент, используя Paramiko / Twisted
Мне нужно эмулировать SSH-клиент и регистрировать введенные команды.
Я перешел по разным ссылкам, но большинство примеров связаны с автоматизацией задач. Для целей тестирования мне нужно эмулировать Интерактивный SSH-сеанс и команды журнала.
Примечание: Paramiko не является обязательным. Искаженные ресурсы очень ценятся
1 ответ
Решение
Использование Channel.get_pty
а также Channel.invoke_shell
смоделировать сеанс интерактивного терминала SSH.
sshClient = paramiko.SSHClient()
sshClient.connect(host, username=user, password=pass)
channel = sshClient.get_transport().open_session()
# Open interactive SSH session
channel.get_pty()
channel.invoke_shell()
print('Executing command 1')
channel.send('command 1\n')
print('Executing command 2')
channel.send('command 2\n')