我有一台笔记本电脑和多个我访问的网络。当我在网络 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
并绕过检查,但是有没有办法继续检查(嘿,我想知道其中一个主机是否真的改变了)但是让它知道网络?
实施 IPv6。将全局唯一地址添加到主机和 DNS。
/64
哪个网络通过子网变得显而易见。一个大项目只是为了您的管理方便,也许。但是,如果一个组织曾经合并或重组或使用 VPN,这可能会成为一个更大的问题,从而引入地址冲突。
将类似这样的内容添加到 /etc/hosts:
然后使用
ssh user@alpha-webserver
或ssh user@beta-fileserver
。ssh 已知主机文件使用您提供的名称作为密钥,因此只需使用 2 个不同的名称而不是 1 个 IP。在其他情况下也可能有用——名称总是比数字更不容易出错:)