Эмулируйте Интерактивный SSH-клиент, используя Paramiko / Twisted - PullRequest
0 голосов
/ 19 сентября 2018

Мне нужно эмулировать SSH-клиент и регистрировать введенные команды.

Я перешел по разным ссылкам, но большинство примеров относится к автоматизации задач .Для целей тестирования мне нужно эмулировать Интерактивные SSH-сеансы и log .

Примечание: Paramiko не обязателен.Искаженные ресурсы очень ценятся

1 Ответ

0 голосов
/ 20 сентября 2018

Используйте 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')
...