插件窝 干货文章 Host key verification failed

Host key verification failed

密钥 SSH 错误 服务器 368    来源:    2025-05-12

Host Key Verification Failed 错误分析与解决

错误原因

"Host key verification failed" 是SSH连接时常见的错误,通常发生在以下情况:

  1. 目标主机的SSH密钥已更改(可能是服务器重装或IP地址被重新分配)
  2. 本地known_hosts文件中存储的旧密钥与服务器提供的新密钥不匹配
  3. 中间人攻击(可能性较低,但需警惕)

解决方案

方法1:删除旧的host key(推荐)

ssh-keygen -R [hostname_or_IP]

例如:

ssh-keygen -R 192.168.1.100

ssh-keygen -R example.com

方法2:手动编辑known_hosts文件

  1. 打开~/.ssh/known_hosts文件
  2. 找到对应主机名的行并删除
  3. 保存文件后重新连接

方法3:临时忽略检查(不推荐,仅用于测试)

ssh -o StrictHostKeyChecking=no user@hostname

方法4:完全禁用主机密钥检查(不推荐,安全隐患)

~/.ssh/config中添加:

Host *
    StrictHostKeyChecking no
    UserKnownHostsFile /dev/null

安全建议

  1. 仅在信任网络环境下使用方法3或4
  2. 如果服务器密钥确实应该更改(如服务器重装),使用方法1或2
  3. 如果密钥无故更改,应先确认服务器是否被入侵

其他相关信息

  • 默认情况下,host key存储在~/.ssh/known_hosts
  • 错误消息通常会显示服务器提供的key fingerprint,可用于验证
  • 企业环境中可能有专门的SSH证书颁发机构,这种情况下应联系IT部门

需要更具体的帮助或有其他相关问题吗?