通过私钥使用Python进行SSH

时间:2019-12-09 16:11:12

标签: python ssh paramiko private-key

在我的脚本中,我需要使用私钥对远程系统执行SSH,并将文件转储到其目录中。

我用于SSH进入系统的命令是:

ssh -i private_key localhost

接着是标准输入:

  

输入密钥“ private_key”的密码

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

请向我建议一种通过库(Paramiko SSHClient)或代码段实现此目的的方法,我们将对此表示高度赞赏。

1 个答案:

答案 0 :(得分:2)

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

import paramiko

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

如果提供了password,则将key_filename参数用作密码短语。


此外,您还必须验证服务器的主机密钥(如之前必须对ssh进行的操作)。参见Paramiko "Unknown Server"

相关问题