python - 通过私钥使用 Python 进行 SSH
问题描述
在我的脚本中,我需要使用私钥对远程系统执行 SSH 并将文件转储到其目录中。
我用来 SSH 进入系统的命令是这样的:
ssh -i private_key localhost
其次是标准输入:
输入密钥“private_key”的密码
我正在尝试在 Python 脚本中执行此操作,但不确定编写命令并将密码短语作为参数传递的方式,以便整个序列可以自动化。
请向我建议一种通过库(Paramiko SSHClient
)或代码片段来实现此目的的方法,我们将不胜感激。
解决方案
SSHClient.connect
可以通过一个简单的调用来处理公钥认证:
import paramiko
ssh = paramiko.SSHClient()
ssh.connect(hostname, username=username, key_filename=key_path, password=passphrase)
当提供时,该password
参数用作密码短语key_filename
。
此外,您还必须验证服务器的主机密钥(正如您之前必须完成的那样ssh
)。请参阅Paramiko “未知服务器”。
推荐阅读
- validation - 使用计算属性 Vue 2 的条件类绑定
- java - java - 如何在java junit测试类中并行运行一些测试用例和以串行方式运行一些测试用例?
- java - 我已经通过 Java spring security 生成了公钥,我尝试使用该公钥使用 Nodejs Crypto 加密数据,但它返回错误
- android - Sharepoint api是否在android studio中使用
- c# - 如何将 URL 嵌入 Blazor 页面
- python-3.x - 无法解码作为 URL 参数传递的“梵文文本”
- macos - 如何在 MacOS 上的 IntelliJ 中重新分配 Ctrl+拖动?
- reactjs - 反应不从更新的环境文件中获取数据
- python - 向 Yelp API 发布请求,要求提供已提供的参数
- javascript - 模拟 axios 时可以为 URL 使用通配符吗?