python - 在python中使用sftp从远程机器复制文件

标签 python sftp paramiko

我希望能够在 python 中使用 scp、ssh 或 sftp 从远程机器复制文件。我发现的最佳方法是将 ssh 与 sftp 结合使用。我一直在尝试使用这个示例来完成我需要做的事情。

import paramiko
import os

paramiko.util.log_to_file('logfile.log')

host = "101.102.103.104"
port = 22
transport = paramiko.Transport((host, port))
password = "pass"
username = "user"

sftp = paramiko.SFTPClient.from_transport(transport)

filepath = '~/remote/file'
localpath = '~/local/file'
sftp.get(filepath, localpath)

sftp.close()
transport.close()

当我这样做时,我收到此错误:

Traceback (most recent call last):
  File "example.py", line 19, in <module>
    sftp.get(filepath, localpath)
AttributeError: 'NoneType' object has no attribute 'get'

有什么我遗漏或没有做正确的事吗?

谢谢

最佳答案

您的用户名和密码已初始化但从未使用过。您需要为您的传输对象调用connect

password = "pass"
username = "user"
transport.connect(username = username, password = password)

关于python - 在python中使用sftp从远程机器复制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11157789/

相关文章:

python - 无法从 Windows 使用 Paramiko 登录 Linux 服务器

python - 如何使用背景图片设置QTableWidget左上角?

python - pandas,pytz - 简单的时区转换

python - 使用 mysql.connector for python 连接数据库时出错

java - 如何在 JSch SFTP 上获得声誉?

python - "' 连接 ' object has no attribute ' _sftp_live '"当 pysftp 连接失败

python - 使用OpenCV获得完整的形状图案

bash - 如何使用 Bash 脚本中的密码运行 sftp 命令?

c# - SSH.NET 上传整个文件夹

python - 使用Python 3 paramiko进行SSH编程,尝试执行命令时出现EOFError