使用 pysftp 执行 sftp 但出现主机密钥错误
Posted
技术标签:
【中文标题】使用 pysftp 执行 sftp 但出现主机密钥错误【英文标题】:Doing sftp using pysftp but getting hostkey error 【发布时间】:2020-02-25 11:16:36 【问题描述】:尝试使用 ssh 密钥连接到 sftp 服务器
#!/bin/python
import pysftp
with pysftp.Connection(host='sftp.myserver.com', username='stg', private_key='/Users/joel/.ssh/id_rsa_sftp', private_key_pass='') as sftp:
我得到了
raise SSHException("No hostkey for host %s found." % host)
【问题讨论】:
见Verify host key with pysftp。 这是 pysftp = 0.2.9 的已知问题,因此我移至 paramiko "Failed to load HostKeys" warning while connecting to SFTP server with pysftp的可能重复 【参考方案1】:你可以使用我来自github的pysftp fork并添加auto_add_key=True
这将在第一次连接时将主机密钥添加到您的 known_hosts
文件...
import pysftp
with pysftp.Connection('hostname', username='me', password='secret', auto_add_key=True) as sftp:
with sftp.cd('public'): # temporarily chdir to public
sftp.put('/my/local/filename') # upload file to public/ on remote
sftp.get('remote_file') # get a remote file
【讨论】:
以上是关于使用 pysftp 执行 sftp 但出现主机密钥错误的主要内容,如果未能解决你的问题,请参考以下文章
使用私钥通过 pysftp 连接到 SFTP 服务器时“找不到主机 ***** 的主机密钥”
如何使用 ssh-ed25519 作为 pysftp 的密钥来设置主机密钥文件