python - 使用私钥连接到服务器时出现pysftp AuthenticationException

标签 python ssh sftp paramiko pysftp

我正在尝试连接到 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/

相关文章:

python 2.7 : no module named configparser

c# - Windows Phone 7\Silverlight SSH 或 Telnet 库

php - 使用 phpseclib 下载文件匹配模式

.net - 在PowerShell中仅使用WinSCP下载新文件

python - 在 Python 中使用 Paramiko 进行递归目录复制

python - 在不丢失数据的情况下更新字典

python - getopt 程序中的 3 个不同的 arg 句柄

Python 类实例的计算结果为假?

ssh - 使用Ansible SSH到远程服务器

ubuntu - Digital Ocean Ubuntu SSH 端口号?