perl - 使用 Putty 进行 SSH 忽略 Perl 中的所有警告
问题描述
我正在编写一个 Perl 脚本,以便从 Windows SSH 到远程 linux 和 maci 机器。plink
为此,我正在使用qx
. 问题是当我尝试运行plink
命令时它会提示
服务器的主机密钥未缓存在注册表中。您无法保证服务器就是您认为的计算机。...... 如果您不信任此主机,请按 Return 放弃连接。将密钥存储在缓存中?(是/否)
我必须自动化远程运行命令的过程。所以,我想绕过这个警告。
我可以想到两种方法,但不知道如何完成这些
- 通过一些命令行选项或其他命令以某种方式绕过来自腻子本身的警告
plink
提示时传递输入的一些 Perl 方式
任何人都可以建议如何通过上述方式之一或其他一些解决方案来做到这一点。
解决方案
plink
我在提示时使用管道将 Y 传递给 - 解决了它echo Y | plink -ssh <user>@<host> -pw <password> <command>
。
有关更多详细信息,请参阅此答案。还要注意@clay 的回答,他说
对于内部服务器,盲回显 y | ...技巧可能就足够了(而且超级简单)。但是,对于通过 Internet 访问的外部服务器,接受一次服务器主机密钥比每次都盲目接受要安全得多。
我就是这种情况 - 我曾经使用plink
ssh 连接到内部服务器。
推荐阅读
- ios - FlatList onEndReached 被多次调用
- android - ExpandableListView 不显示 Viewpager android 中的最后一项
- apache - Apache调度程序在日志中获取标题内容
- angular - 以角度 6 对对象数组进行排序
- javascript - Microsoft Edge 中的动画渲染效果不佳
- windows - Window Server 2016 上的 Portainer 设置
- android - 如何在除 Activity 之外的任何地方注入 Dagger 依赖项?
- python - 位置参数跟随关键字参数 | 调用函数时出错
- kotlin - 泛型函数中的多个参数
- python-3.x - 按天计算的平均值