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