python - 是否可以从我使用 paramiko 的系统 ssh 进入另一个系统?
问题描述
我正在编写一个脚本,它将 ssh 到树莓派,然后从树莓派,将 ssh 到另一个系统以验证它是否可以连接。
从 Windows 终端,我可以做到这一点。我可以使用 登录到我的 pi ssh pi@raspberry
,然后在登录时,我可以运行ssh [SYSNAME]
(我在我的 pi 上的 ~/.ssh/config 文件中为此系统设置了一个配置)并登录到另一个系统。
我在 python 3.9.7 中使用 paramiko,我可以很好地登录到 pi,但是当我尝试 ssh 到 [SYSNAME] 时,它给了我[USER]@[IP]: Permission denied (publickey)
. 我确实必须添加一个特殊的 ssh 密钥才能使用 pi 访问这个其他系统ssh-add ~/.ssh/other_key
,但我没有足够的经验知道在使用 paramiko 时是否没有使用这个密钥。
提前致谢!
编辑:我发现了我的问题。虽然我确实添加了 special_key,但由于某种原因它没有被使用。一旦我使用 手动添加密钥ssh -i ~/.ssh/special_key [USER]@[IP] -p 22
,它就起作用了。现在我的问题是在不手动指定密钥的情况下让它工作,但我相信我能解决这个问题。谢谢大家!
解决方案
推荐阅读
- spring-boot - 如何在 Spring DataJpa @Query 方法中将 Object[] 作为返回类型?
- mysql - MySQL Workbench 需要永远运行一个 2GB 的 SQL 脚本
- multithreading - 如何重复调用不可靠的 API?Completable Future 会比编写在线程中运行的标准 try catch 块有用吗?
- python - 缩短其语句被反转的 if 语句
- python - 如何根据存储桶 S3 上的前缀获取所有最近的文件?
- javascript - 了解为什么 Puppeteer 不会加载网站
- node.js - 如何将重聚合的结果通过管道传输到可写流?(节点)
- java - java.lang.NoSuchMethodError:org.openqa.selenium.support.ui.WebDriverWait.until
- date - 如何在颤振中添加年份范围验证
- regex - 使用正则表达式区分两个相似的文本