Paramiko线程paramiko.ssh_异常.SSHException:不兼容的版本(1.5而不是2.0)

2024-06-28 15:51:39 发布

您现在位置:Python中文网/ 问答频道 /正文

def trylogin(ipaddress):
  global user, passwd
  vmchannel = vmtransport.open_channel("direct-tcpip", dest_addr, local_addr)
  jhost = paramiko.SSHClient()
  jhost.set_missing_host_key_policy(paramiko.AutoAddPolicy())
  jhost.connect(line, username=user, password=passwd, sock=vmchannel,)

vm = paramiko.SSHClient()
vm.set_missing_host_key_policy(paramiko.AutoAddPolicy())
vm.connect('57.255.35.71', username='xxxx', password='xxxx')
vmtransport = vm.get_transport()
local_addr = ('57.255.35.71', 22)
dest_addr = (IP, 22)
threading.Thread(target=trylogin, args=(IP,)).start()

当在多个设备IP上使用线程循环运行上述代码时,它显示以下异常

^{pr2}$

但是设备已经在使用SSH版本2.0,如果在单个IP上运行或者根本不使用线程,则此代码可以正确运行。在


Tags: ipparamikolocalvmdestpasswdaddrset
1条回答
网友
1楼 · 发布于 2024-06-28 15:51:39

Incompatible version (1.5 instead of 2.0)

这个错误消息意味着远程服务器宣布它实现了sshversion1.5。Paramiko需要2.0版。在

我猜远程系统是某种思科设备?您应该研究如何重新配置设备以使用SSH版本2。我随机找到了this page,它描述了用于配置其中一个系统的命令(“ipssh version[1 | 2]”)。我不知道同样的命令是否适用于你的系统。在

注意,Paramiko有一个FAQ section,表示它们不支持非典型SSH服务器,包括Cisco设备。即使在重新配置了Paramiko之后,您仍可能无法让Paramiko使用该设备。在

相关问题 更多 >