与Paramiko一起使用Keyfile进行无密码身份验证

时间:2019-06-20 15:30:46

标签: python rsa paramiko ssh-keys

我正在尝试通过Python自动通过SSH连接对运行Linux的多台服务器进行身份验证。我正在使用Paramiko来启动连接。我不想输入密码,也不想传递密码的密钥文件。我遵循了密钥文件的文档,并且一直在使用PuTTYGen创建密钥。

我已经通过PuTTYGen尝试了不同类型的密钥文件,最终使用了RSA-2,就像paramiko文档建议的那样。我曾在不同的环境中尝试过,但没有任何变化。我对SSH密钥文件没有太多的了解,因此非常感谢您提供一些指导。首先,我想要一些有关如何创建密钥,使用什么应用程序等的指南。

这是我的连接代码。除了阻止成功连接之外,我在这里看不到任何东西,但是问题可能出在我如何创建密钥文件上。

import paramiko
ssh = paramiko.SSHClient()
ssh.connect(str(machine_name), port=22, username=user, key_filename=key_file_path, timeout=5)

我希望paramiko可以获取密钥文件,因为我已经执行了多个步骤和相关文档,但是它只是说“无效的RSA私有密钥文件”。

0 个答案:

没有答案