Python Paramiko 和 IPV6 SSH

标签 python ssh paramiko

我必须编写一个脚本,使用 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地址的示例吗?

最佳答案

您还必须指定接口(interface)名称。

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

以下示例是有效的 IPv6:

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

关于Python Paramiko 和 IPV6 SSH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31956313/

相关文章:

python - 从 Foursquare API 解析嵌套的 JSON

c - ssh 中不兼容指针类型的赋值

ssh - 当服务器只允许键盘交互身份验证时,有没有办法进行 SSH 无密码登录?

linux - ssh:发送 SSH2_MSG_KEXINIT 后,连接被 IP 关闭

python - "' SCPClient ' object has no attribute ' SCPException '"试图处理来自 Paramiko 的 SCP 模块的异常

python - SSH 通过私钥使用 Python

python - 通过索引获取字符串的多个字符

python - 如何获取两个列表之间的所有唯一分配

python - 处理 Paramiko SSHException - 服务器连接断开

python - 引发异常时获取分配的变量,python 异常处理