SSH 报 Host key verification failed,先别急着绕过它

举报
yd_264030139 发表于 2026/11/10 07:51:27 2026/11/10
【摘要】 今早 ssh 连云服务器,第一把就报 Host key verification failed。以前一直能连,密钥没动过,服务器也没重装过。先没动密钥,用 ssh -v 看了一眼。它去找 /root/.ssh/known_hosts,这个文件不存在。后面三个位置也一样,/root/.ssh/known_hosts2 和 /etc/ssh/ 下那两个,全是 No such file。服务器当场...

今早 ssh 连云服务器,第一把就报 Host key verification failed。以前一直能连,密钥没动过,服务器也没重装过。

先没动密钥,用 ssh -v 看了一眼。它去找 /root/.ssh/known_hosts,这个文件不存在。后面三个位置也一样,/root/.ssh/known_hosts2 和 /etc/ssh/ 下那两个,全是 No such file。服务器当场把指纹打出来了,ssh-ed25519,SHA256 开头的一串。

这一步得分清两种情况。服务器真换了,还是本机这边信任记录丢了。分清的办法是比指纹。本机家目录下的 known_hosts 里有同一台服务器的记录,指纹一模一样。服务器没换,丢的是本机这边的信任记录。

处理很简单,让 ssh 去读原来那个 known_hosts 文件。UserKnownHostsFile 指过去,再连就通了。没用 StrictHostKeyChecking=no,也没直接接受一个没见过的指纹。

写下来是因为这个报错很容易走偏。host key 校验是防中间人的最后一道,报错先别绕过。指纹对得上就补信任记录。对不上先别连,去核实服务器是不是真的换了。

还有一个坑。ssh 找 known_hosts 和密钥,看的是系统账号的家目录。shell 里的 HOME 变量指到别处也没用,密钥要写绝对路径。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。