我正在尝试连接到 SFTP 服务器。我有一个私钥和一个密码。 我已经尝试阅读SO上的相关问题,但一直无法成功连接。
这是我试过的:
pysftp.Connection(host=<hostname>, username=<username>,
password=<password>, private_key=<path to .ppk file>)
AuthenticationException: Authentication failed
pysftp.Connection(host=<hostname>, username=<username>,
private_key_pass=<password>, private_key=<path to .ppk file>)
SSHException: not a valid DSA private key file
但是,我可以使用相同的凭据并连接到 FileZilla。 FileZilla 要求输入密码并将 .ppk
文件转换为不 protected 文件。
我尝试使用与 FileZilla 中相同的主机名、用户名和 key 文件,但我仍然收到错误。 还尝试使用 Paramiko 进行连接。
最佳答案
我终于可以连接了。
使用 PuTTY 将文件转换为 .pem
文件。传递了这个.pem
文件,其余参数保持不变。
pysftp.Connection(host='hostname', username='username',
password='password', private_key='path to .pem file')
希望这对遇到类似问题的人有所帮助。
关于python - 使用私钥连接到服务器时出现pysftp AuthenticationException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34097068/