使用Pysftp库将sftp发送到服务器,尝试连接时身份验证失败。
但是,在filezilla中使用相同的凭据,我可以连接。
from pysftp import CnOpts, Connection
from paramiko import RSAKey
import io
private_key_text = '''
-----BEGIN OPENSSH PRIVATE KEY-----
key removed...
-----END OPENSSH PRIVATE KEY-----
'''
passphrase = 'my_passphrase'
private_key = RSAKey.from_private_key(io.StringIO(private_key_text), password=passphrase)
host = 'host_address'
username = 'username'
cnopts = CnOpts()
target_dir = '/home'
cnopts.hostkeys = None
with Connection(host=host, username=username, private_key=private_key, private_key_pass=passphrase,
cnopts=cnopts, default_path=target_dir) as sftp:
print(f'Successfully connected to remote SFTP server [{host}]')发布于 2022-01-24 17:25:16
Paramiko最近在2.9.x中添加了一些代码,这会导致paramiko.ssh_exception.AuthenticationException('Authentication failed.')异常。尝试显式安装paramiko==2.8.1并查看问题是否仍然发生。
参见https://www.paramiko.org/changelog.html 2.9.0的更改日志注释
这里还有这个问题:https://github.com/paramiko/paramiko/issues/1961

https://stackoverflow.com/questions/70837657
复制相似问题