我知道 ssh 主机识别应该可以保护您免受中间人攻击,但我无法弄清楚校验和的计算究竟是如何进行的。
为了获得“远程主机标识已更改”警报,到底需要进行哪些更改?
答案1
服务器提供的 SSH 主机公钥。具体来说,它存储在 中/etc/ssh/ssh_host_rsa_key
(或ssh_host_dsa_key
,也可能是其他密钥类型,它们的名称都类似)。
SSH 在这里试图告诉您的是,它第一次连接到服务器时存储的公钥的指纹(在您的.ssh/known_hosts
文件中)并不是它连接到同名服务器时所获得的公钥的指纹。
如果您不明白为什么会发生这种情况,那么可能是有人劫持了您的 DNS,将您连接到您意想不到的服务器,或者密钥被意外更改。
至于如何再生这些,此 cloudvps 文章中介绍了这些命令。