症状
SSH 拒绝连接并报 Host key verification failed,或给出 REMOTE HOST IDENTIFICATION HAS CHANGED 警告。它常在服务器重建或 IP 复用后发生。
诊断
在改动任何东西之前先核对指纹:
ssh-keyscan -t ed25519 host 2>/dev/null | ssh-keygen -lf -
与服务方公布的指纹比对;切勿盲目接受新密钥。
修复
删除陈旧条目并学习已核验的密钥:
ssh-keygen -R host
# after confirmation, seed known_hosts
ssh-keyscan -t ed25519 host >> ~/.ssh/known_hosts
CI 中应提交受控的 known_hosts,而不是禁用校验。
验证
重新连接;会话打开且无警告,known_hosts 中现存的指纹与已核验值一致,确认密钥变更是合法且连接可信任。