2
  • 我正在编写一个 python 脚本来将 python(比如 ABC.py)文件从一个目录复制到另一个目录,其文件夹名称(比如 ABC)与脚本名称(不包括 .py)相同。

  • 在本地系统中,它可以正常工作,并通过创建同名文件夹将文件从一个目录复制到其他目录。
  • 但实际上我想将这些文件从我的本地系统(Windows XP)复制到位于我执行脚本的其他国家的远程系统(Linux)。但是我收到
    错误,因为“找不到目标路径”意味着我无法连接到远程
    ,这就是原因。
  • 我使用 SSH 安全客户端。
  • 我使用 IP 地址和端口号连接到远程服务器。
  • 然后它会询问用户 ID 和密码。

    但是我无法通过我的 python 脚本连接到远程服务器。

任何人都可以帮我解决这个问题吗?

4

2 回答 2

5

paramiko提供了一个SFTPClient可以用来做到这一点的。

import paramiko

source = r'C:\Somedir\somefile.txt'
dest = r'/home/user/file.txt'
hostname = 'linux.server.com'
port = 22 # default port for SSH
username = 'user'
password = 'secret'

try:
    t = paramiko.Transport((hostname, port))
    t.connect(username=username, password=password)
    sftp = paramiko.SFTPClient.from_transport(t)
    sftp.put(source, dest)
finally:
    t.close()
于 2012-10-16T07:23:01.973 回答
-1

我使用了相同的脚本,但我的主机没有响应。我的主机在不同的网络中。

WinError 10060] 连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应

于 2021-03-23T04:02:51.730 回答