连接到0.0.0.0上的测试SFTP服务器

时间:2020-06-16 12:16:49

标签: python connection sftp paramiko

我正在尝试通过Python连接和上传/下载文本文件,但出现此错误:

Traceback (most recent call last):
File "C:\Users\Abdul\OneDrive\Desktop\SFTP neu\main3.py", line 8, in <module>
c.connect(hostname = "0.0.0.0",port = 22, username = "tester", pkey = k)
File "D:\Python\lib\site-packages\paramiko\client.py", line 349, in connect
retry_on_signal(lambda: sock.connect(addr))
File "D:\Python\lib\site-packages\paramiko\util.py", line 283, in retry_on_signal
return function()
File "D:\Python\lib\site-packages\paramiko\client.py", line 349, in <lambda>
retry_on_signal(lambda: sock.connect(addr))
OSError: [WinError 10049] Die angeforderte Adresse ist in diesem Kontext ungültig

我正在使用Rebex TinySFTP Server

起初我以为我的房东是错的,但是不是。 在此示例中,我使用了0.0.0.0。

enter image description here

这是我的代码:

#!/usr/bin/python3
import paramiko

k = paramiko.RSAKey.from_private_key_file("C:\\Users\\Abdul\\OneDrive\\Desktop\\RebexServer\\private-rsa-key.pem")
c = paramiko.SSHClient()
c.set_missing_host_key_policy(paramiko.AutoAddPolicy())
print("connecting")
c.connect(hostname = "0.0.0.0",port = 22, username = "tester", pkey = k)
print("connected")
commands = ["C:\\Users\\Abdul\\OneDrive\\Desktop\\RebexServer\\data\\testfile.txt", "C:\\Users\\Abdul\\OneDrive\\Desktop\\SFTP neu\\data\\testfile1.txt"]
for command in commands:
    print("Executing {0}".format( command ))
    stdin , stdout, stderr = c.exec_command(command)
    print(stdout.read())
    print("Errors")
    print(stderr.read())
c.close()

1 个答案:

答案 0 :(得分:1)

起初我以为我的房东是错的,但是不是。在此示例中,我使用了0.0.0.0

0.0.0.0通常在启动服务器时用于指示服务器应绑定到所有可用IP地址。但这不是 您应该在客户端中使用的内容。

使用服务器绑定到的实际 IP地址之一。如果两者都在同一台计算机上,请尝试127.0.0.1或您在本地使用的任何IP地址。以192.168.开头的地址在家庭和小型办公室网络中都很常见。