← 中文资源

简体中文版本

SSH: Host key verification failed

修复 SSH 的 Host key verification failed:安全地比对指纹,而非禁用 StrictHostKeyChecking。

阅读英文原文

症状

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 中现存的指纹与已核验值一致,确认密钥变更是合法且连接可信任。