我正在尝试通过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。
这是我的代码:
#!/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()
答案 0 :(得分:1)
起初我以为我的房东是错的,但是不是。在此示例中,我使用了0.0.0.0
0.0.0.0
通常在启动服务器时用于指示服务器应绑定到所有可用IP地址。但这不是 您应该在客户端中使用的内容。
使用服务器绑定到的实际 IP地址之一。如果两者都在同一台计算机上,请尝试127.0.0.1
或您在本地使用的任何IP地址。以192.168.
开头的地址在家庭和小型办公室网络中都很常见。