【问题标题】:Python Paramiko and IPV6 SSHPython Paramiko 和 IPV6 SSH
【发布时间】:2015-11-24 03:10:46
【问题描述】:

我必须编写一个脚本,使用 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

有没有给paramiko指定ip6地址的例子?

【问题讨论】:

    标签: python ssh paramiko


    【解决方案1】:

    您还必须指定接口名称。

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

    以下示例是有效的 IPv6:

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

    【讨论】:

      【解决方案2】:

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

      你试过升级 paramiko 吗?

      pip install --upgrade paramiko
      

      编辑: 另一个想法,可能你的内核不支持 ipv6。 How to test from userspace if the kernel supports IPv6?

      【讨论】:

        猜你喜欢
        • 2013-12-03
        • 2012-05-31
        • 1970-01-01
        • 2016-06-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-07
        • 2022-01-08
        相关资源
        最近更新 更多