使用Paramiko连接到SFTP服务器时“ getaddrinfo失败”

时间:2019-11-03 18:27:00

标签: python ssh sftp python-3.7 paramiko

我正在尝试连接到SFTP服务器,但它返回错误:

  

[Errno 11001] getaddrinfo失败

我正在使用Python 3.7.3,而Paramiko版本是2.6.0

b

这是完整的错误:

import paramiko

host_name = "sftp://81.149.151.143"
user_name = "******"
password = "******"

ssh_client = paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect(hostname=host_name, port=220, username=user_name, password=password)

ftp_client=ssh_client.open_sftp()
ftp_client.put('***/issue_1.docx', '/issue_1.docx') 
ftp_client.close()

1 个答案:

答案 0 :(得分:1)

SSHClient.connecthostname参数应仅包含hostname(或您的IP地址),而不应包含任何URL。

ssh_client.connect(hostname="81.149.151.143", port=220, username=..., password=...)

强制性警告:请勿以这种方式使用AutoAddPolicy –这样您将失去针对MITM attacks的保护。有关正确的解决方案,请参见Paramiko "Unknown Server"