You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

长期未连SSH后报错‘Host key verification failed’的解决方法咨询

解决SSH "Host key verification failed" 问题的步骤

1. 确认本地known_hosts文件位置

不同系统的文件路径:

  • Linux/macOS:~/.ssh/known_hosts
  • Windows(Git Bash/OpenSSH环境):C:\Users\<你的用户名>\.ssh\known_hosts;WSL环境则是/home/<用户名>/.ssh/known_hosts

2. 精准执行ssh-keygen -R命令

确保使用你连接服务器时的主机名或IP地址:

  • 若用IP连接(如ssh user@192.168.1.100),执行:
    ssh-keygen -R 192.168.1.100
    
  • 若用主机名连接(如ssh user@server.example.com),执行:
    ssh-keygen -R server.example.com
    
  • 若连接时指定了非默认端口(如ssh -p 2222 user@server),且known_hosts中存储格式为[server]:2222,则执行:
    ssh-keygen -R "[server]:2222"
    

3. 手动删除对应条目(命令失效时)

直接打开known_hosts文件,搜索服务器的IP/主机名,删除对应行后保存:

  • Linux/macOS可使用编辑器操作:
    nano ~/.ssh/known_hosts
    
    按Ctrl+W搜索目标内容,找到后删除整行,按Ctrl+O保存、Ctrl+X退出。
  • Windows直接用记事本打开对应路径的known_hosts文件,删除目标行后保存。

4. 修复文件权限(避免命令无法修改文件)

若ssh-keygen -R命令不生效,可能是known_hosts或.ssh目录权限错误,执行以下命令修正(仅Linux/macOS):

chmod 600 ~/.ssh/known_hosts
chmod 700 ~/.ssh

5. 重新连接服务器

完成上述操作后,重新执行SSH连接命令,例如:

ssh user@server.example.com

当提示确认新主机密钥时,输入yes即可建立连接。

特殊情况处理

若你使用了SSH配置文件(~/.ssh/config)中的别名(如Host myserver指向实际服务器),则执行ssh-keygen -R myserver即可,因为known_hosts中可能存储的是别名对应的条目。


内容的提问来源于stack exchange,提问作者Varunmuhil Viswanathan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 15:05:43