使用Python通过私钥进行SSH连接

3
在我的脚本中,我需要使用私钥SSH到远程系统并将文件转储到它的目录中。
我使用的SSH命令是:
ssh -i private_key localhost

在标准输入之后:

输入密钥“private_key”的密码

我正在尝试在Python脚本中完成这个操作,但我不确定如何编写命令并将密码作为参数传递,以便整个序列可以自动化。

请建议我通过库(Paramiko的SSHClient)实现此目的的方法,或者高度赞赏提供代码片段。

1个回答

5

SSHClient.connect可以通过一个简单的调用来处理公钥身份验证:

import paramiko

ssh = paramiko.SSHClient()
ssh.connect(hostname, username=username, key_filename=key_path, password=passphrase)

password参数用作密码短语,当提供了key_filename时。


此外,您还需要验证服务器的主机密钥(就像您之前使用ssh时所做的那样)。请参阅Paramiko "未知服务器"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接