我有一个启用了 DHCP 的网络,还有一台双启动操作系统的计算机,每个操作系统上都有不同的 SSH 密钥(是的,我想在每个操作系统上保留不同的密钥,而不是将相同的身份/私钥复制到每个操作系统上)。由于 MAC 地址相同,因此 IP 地址在操作系统之间不会更改,因此在连接到 ssh 时,即使不使用 IP 地址而是通过 DNS/mDNS 使用主机名,我也会收到警告:
Warning: the RSA host key for 'hostname' differs from the key for the IP address '192.168.1.172'
Offending key for IP in /Users/user/.ssh/known_hosts:37
Matching host key in /Users/user/.ssh/known_hosts:38
Are you sure you want to continue connecting (yes/no)?
当主机名与该主机名的 IP 地址不同时,如何抑制警告,但保留检查每个主机名的主机密钥是否相同的能力?(每个操作系统都有一个唯一的主机名)
答案1
放入CheckHostIP no
你的 ~/.ssh/config 文件。示例配置文件:
Host foo-win.local foo-win
Hostname foo-win.local
CheckHostIP no
Host foo-lin.local foo-lin
Hostname foo-lin.local
CheckHostIP no
检查主机IP
如果此标志设置为“yes”,ssh(1) 将另外检查 known_hosts 文件中的主机 IP 地址。这允许 ssh 检测主机密钥是否由于 DNS 欺骗而更改。如果选项设置为“no”,则不会执行检查。默认值为“yes”。