我目前在使用 SSH 连接到远程大学 Ubuntu 机器时遇到问题(如果重要的话,我使用 VS Code 作为 SSH 客户端)。初次连接时,它会提示我信任该设备,我这样做了,并且能够连接。但是,一天后我尝试重新连接,它抛出一个错误,指出机器的主机身份已更改。
我使用 DNS 名称通过 SSH 连接到机器。因此,无论 IP 地址如何变化,它都应该始终将我引导至同一台物理机器。请注意,我通过 SSH 连接的机器是物理桌面机器,而不是虚拟机或集群。
所以我很好奇,假设我连接到同一台物理机器。为什么 SSH 会认为远程主机发生了变化?如果同一台物理机的 IP 地址发生变化,是否会导致身份发生变化?
简短的回答是肯定的。如果机器的 IP 发生变化,它将是一个未知的主机。
已知主机保存在
.ssh/known_hosts
.另请注意,可以在 中启用已知主机散列
/etc/ssh/ssh_config
,因此您的主机文件可能看起来与您通常习惯的文件略有不同。您也可以在同一个配置文件中设置
CheckHostIP
为no
取消 IP 检查。另请参阅:https ://serverfault.com/questions/193631/ssh-into-a-box-with-a-frequently-changed-ip/895661#895661