【问题标题】:Paramiko ssh exec_command for IPv6 server from windows client来自 Windows 客户端的 IPv6 服务器的 Paramiko ssh exec_command
【发布时间】:2018-09-19 04:40:10
【问题描述】:

以下代码可以正常使用paramiko.SSHClient 在 IPv4 的远程服务器上获取命令执行的输出。但是相同的代码不适用于 IPv6 服务器。

import paramiko
dssh = paramiko.SSHClient()
dssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
dssh.connect("IPv6_Address", username="root", password="orange")
stdin,stdout,stderr=dssh.exec_command("pwd")
print(stdout.read())

然后我尝试使用 IPv6 的套接字连接,如下所示

sock = socket.socket(socket.AF_INET6, socket.SOCK_STREAM)
sock.connect((hostname, port))
t = paramiko.Transport(sock)

但是paramiko.Transport 没有exec_command

【问题讨论】:

    标签: python ssh paramiko


    【解决方案1】:

    SSHClient.connectsock 参数:

    sock = socket.socket(socket.AF_INET6, socket.SOCK_STREAM)
    sock.connect(("IPv6_Address", port))
    dssh.connect("IPv6_Address", username="root", password="orange", sock=sock)
    

    旁注:不要这样使用AutoAddPolicy。这样做会失去安全感。
    Paramiko "Unknown Server"

    【讨论】:

      猜你喜欢
      • 2011-08-23
      • 2010-12-15
      • 2011-04-07
      • 1970-01-01
      • 1970-01-01
      • 2017-12-16
      • 2021-11-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多