使用Paramiko / Twisted模拟交互式SSH客户端

时间:2018-09-19 17:23:25

标签: python ssh twisted paramiko twisted.conch

我需要模拟SSH客户端并记录输入的命令。

我遵循了不同的链接,但是大多数示例与自动化任务有关。为了进行测试,我需要模拟一个 Interactive SSH会话和 log 命令。

注意:Paramiko不是必需的。扭曲的资源倍受赞赏

1 个答案:

答案 0 :(得分:0)

使用Channel.get_ptyChannel.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')