从Paramiko的SSH会话连接到远程主机

时间:2016-08-25 03:00:03

标签: python ssh paramiko

我使用Paramiko创建到终端服务器的SSH会话:

def startSSH(strUser,strPassPhrase):    
   ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
   ssh.connect(hostname="x.x.x.x",port=9922,username=strUser,password=strPassPhrase)

建立连接后,我需要向交换机发送一个创建SSH会话的命令:

def exeCommand():
   stdin, stdout, stderr = ssh.exec_command('ssh 10.80.3.20')
   print(stdout.readlines())

然后我必须输入密码才能连接。但输出屏幕上没有显示任何内容,我也不知道如何使用Paramiko发送密码字符串。我也试试

stdin.write('password')
stdin.flush()

但没有任何事情发生。

enter image description here

1 个答案:

答案 0 :(得分:0)

您应该为您的“Switch”机器设置一个ssh隧道,然后使用Paramiko通过隧道进行SSH。

有关如何设置SSH隧道的说明,请参阅以下链接:Transparent Multi-hop SSH

这些StackExchange答案也可能具有指导意义: