有没有办法在 PuTTY 中自动接受 SSH 主机密钥(即使密钥已更改)?

Spo*_*ock 8 ssh

我们使用一些软件可以通过 SSH 连接到一堆机器并做一些事情。问题是在我们的测试实验室中,虚拟机经常被重新创建(销毁和重新创建),因此软件会将虚拟机视为新的,并且会失败,因为主机的真实性不能成立。有人告诉我手动 PuTTY 并接受主机密钥,然后软件会很高兴。

用几百个虚拟机来做这件事并不好玩。

所以,我想知道是否有任何命令工具可以自动接受 PuTTY 的主机密钥?我们在一个封闭的实验室里,所以我不太担心安全问题。

我知道有一些适用于 Linux 环境的解决方案,但这个是 Windows。

Spo*_*ock 11

上面的@Paul 建议使用 pscp。它工作得很好,超级简单,并且完全可以编写脚本:

 C:\> echo y | pscp.exe -l user -pw password -ls 192.168.0.1:/
Run Code Online (Sandbox Code Playgroud)


Spo*_*key 6

在他们的官方网站上,开发人员明确表示 PuTTY 将不提供这样的功能(我强调):

自动接受所有 SSH 主机密钥的选项。出于某种原因,很多人似乎认为这将是一个非常有用的功能。我相信这会非常方便,但会牺牲安全性!主机密钥的全部意义在于,它们是唯一保证您的连接没有被您和服务器之间的活跃攻击者劫持,并且您的数据没有被攻击者解密和重新加密. 如果您想安排自动批处理作业以使用 PSCP 或 Plink,并且交互式主机密钥提示使这变得困难,请提前将正确的主机密钥添加到注册表中。(更新,2014-09-09:或者如果注册表不可用,您可以使用新的 -hostkey 选项在命令行上指定正确的密钥或指纹。我们不会接受关闭主机密钥检查的命令行选项,无论有多少人已经完成了这项工作并向我们发送了经过打磨的生产质量补丁。

如果您有常见的“known_hosts”格式的主机密钥,我们有一个脚本可以将它们转换为 Windows .REG 文件,该文件可以通过双击提前安装。

资料来源:http : //www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/accept-host-keys.html

所以不幸的是,如果没有用户交互,PuTTY 无法实现这一点。

  • 感谢你的回答。实际上,我最初的问题并不是专门针对 PuTTY 的,而是被其他人编辑了几次,听起来就是这样。我们使用的那个软件,如果证书尚未被接受,它将失败,所以我使用 PuTTY 手动接受证书。我正在寻找的是 Windows 上可以做到这一点的任何软件。我一直在谷歌搜索但失败了。所以我想也许有人遇到了类似的问题并有解决方案。我完全了解、理解并同意PuTTY制造商在安全问题上的立场。 (2认同)