我正在尝试构建一个 GUI,用于通过 SSH 监控 Raspberry Pi 上正在进行的一些进程。
Pi 目前有一个无密码设置(我以前使用 keygen 生成密码文件)——我可以简单地输入
ssh host@xxx.xxx.x.xx
无需密码即可进入终端。
我现在正尝试编写一个 Python 脚本来访问设备,但在我尝试运行时提示我输入密码
from subprocess import call
call(['ssh', 'host@xxx.xxx.x.xx'])
我也试过 os 模块,但没有用。有什么我想念的吗?
(如果之前有人回答过这个问题,我深表歉意。我找不到类似的东西,而且我的编程技能很差)
最佳答案
这是因为您的终端运行了一个 ssh-agent
,它知道您的 ssh 身份。而您的 python 脚本必须有一个空白环境,因此无法访问您的 ssh-agent
。
此外,您可以依赖一个库,例如 paramiko .我找到了一个 example using ssh keys或者这个 SO answser .
关于python - 使用 subprocess 模块访问无密码 SSH 设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50593656/