我最近使用 Raspbian 系统映像设置了一些无头 Raspberry Pi 系统。他们默认使用 zeroconf 域名raspberrypi.local。在我更改它之前,我必须使用 SSH 连接到新服务器,它总是对我咆哮:
> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
> @ WARNING: POSSIBLE DNS SPOOFING DETECTED! @
> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Run Code Online (Sandbox Code Playgroud)
并且在我打开 known_hosts 文件并删除上一个条目之前不会连接。然后当它连接时,它会自动添加一个新条目,raspberrypi.local以便下次搞砸。
我理解并欣赏检查密钥并自动添加新密钥的逻辑,但我认为对于这种特定情况,它没有意义。我永远不会连接到被调用的服务器,raspberrypi.local除非它是我刚刚插入的新服务器,在这种情况下,它永远不会有已知的可信赖密钥。
我可以从known_hosts 规范中看到我可以在地址端设置一个通配符(即接受这个范围内的任何地址的这个密钥)但是我想要做的是在密钥端设置一个通配符(接受来自这个的任何键)特定域名)。或者更好的是,根本不要检查这个域名的密钥。
有什么方法可以告诉 known_hosts 忽略(通过而不检查密钥)单个特定域名?
在你的 中试试这个ssh_config,这可以防止 ssh 保存密钥,但仅限于此主机名。
Host raspberrypi.local
UserKnownHostsFile /dev/null
Run Code Online (Sandbox Code Playgroud)
该手册还提到StrictHostKeyChecking:
如果此标志设置为“no”或“off”,ssh 将自动将新的主机密钥添加到用户已知的主机文件中,并允许连接到已更改主机密钥的主机,但受到一些限制。
但是我没有找到有关这些限制的详细信息,无论如何您都不想保存主机密钥。
| 归档时间: |
|
| 查看次数: |
272 次 |
| 最近记录: |