处理多个网络上的主机密钥检查的好方法?

处理多个网络上的主机密钥检查的好方法?

我有一台笔记本电脑和多个可以访问的网络。当我在网络 Alpha 上时,我想要访问ssh 192.168.1.10,它是一个网络服务器。当我在网络 Beta 上时,我想要访问ssh 192.168.1.10,它是一个文件服务器。

因为我要去参观两个不同的机器相同的IP,我拿到了大横幅

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @ 
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!

但实际上发生的是,我在不同的私人网络上,所以我的ssh命令的上下文是不同的。

我知道我可以这样做ssh -o StrictHostKeyChecking=no并绕过检查,但有没有办法继续检查(嘿,我想知道其中一个主机是否真的发生了变化)但使其具有网络感知能力?

答案1

实施 IPv6。为主机和 DNS 添加全局唯一地址。通过/64子网可以明确知道哪个网络是属于哪个网络。

也许只是为了方便管理而设立的大项目。但如果组织合并、重组或使用 VPN,从而引发地址冲突,那么这可能会成为一个更大的问题。

答案2

在 /etc/hosts 中添加类似这样的内容:

192.168.1.10    alpha-webserver    beta-fileserver

然后使用ssh user@alpha-webserverssh user@beta-fileserver

ssh 已知主机文件使用您作为密钥,因此只需使用 2 个不同的名称,而不是 1 个 IP。在其他情况下可能也很有用——名称总是比数字更不容易出错 :)

相关内容