繁体   English   中英

Python Paramiko和IPV6 SSH

[英]Python Paramiko and IPV6 SSH

我必须编写一个脚本,该脚本使用SSH在远程计算机上执行一些命令。 我为此使用了paramiko,只要我使用IPv4寻址,一切都可以正常工作。 我不得不切换IPv6寻址,但似乎无法连接Paramiko客户端。

import paramiko
s = paramiko.SSHClient()
ip6_addr = 'fe80::1112:bcde:789a:1234'
s.connect (ip6_addr, username='foo', password='bar')

错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.6/site-packages/paramiko/client.py", line 290, in connect
    sock.connect(addr)
  File "<string>", line 1, in connect
socket.error: [Errno 22] Invalid argument

是否有一个示例如何将ip6地址指定给paramiko?

您还必须指定接口名称。

ip6_addr = 'fe80::1112:bcde:789a:1234%<interface>'

以下示例是有效的IPv6:

ip6_addr = 'fe80::1112:bcde:789a:1234%eth0'

在我的Python2.7.9(也不是最新版本)和paramiko-1.15.2上,我没有问题。

您是否尝试过升级paramiko?

pip install --upgrade paramiko

编辑:另一个想法,也许您的内核不支持ipv6。 内核是否支持IPv6,如何从用户空间进行测试?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM