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

求助:遭遇“Remote host identification has changed”报错循环

解决SSH "REMOTE HOST IDENTIFICATION HAS CHANGED!" 报错问题

嘿,这个报错我太熟了!你碰到的是SSH核心安全机制在报警——它检测到当前远程主机的密钥和你本地缓存的不一样了,所以弹出了这个警告。先别慌,咱们拆解下原因和解决办法:

为什么会出现这个报错?

这个警告分两种可能场景:

  • 风险场景:真的存在中间人攻击,有人在你和目标主机之间拦截了连接,伪造了主机身份(这种情况要警惕!)
  • 正常场景:更常见的是远程主机做了系统重装、更换SSH服务配置、服务器迁移这类操作,导致主机密钥被重新生成了。

快速解决步骤

根据你的操作系统,选对应的方法:

Linux/macOS 或 Git Bash/WSL(Windows)

  • 方法1:用命令一键清理旧密钥
    直接在终端运行:

    ssh-keygen -R 你的远程主机IP或域名
    

    比如目标主机IP是192.168.1.50,就输入ssh-keygen -R 192.168.1.50;如果是域名myserver.com,就用ssh-keygen -R myserver.com。这个命令会自动删除本地~/.ssh/known_hosts文件里对应主机的旧密钥记录。

    之后重新发起SSH连接,系统会提示你确认新的主机密钥指纹,输入yes回车就可以正常连接了。

  • 方法2:手动编辑known_hosts文件
    打开终端,编辑~/.ssh/known_hosts文件(可以用nano ~/.ssh/known_hosts或者你习惯的编辑器),找到包含目标主机IP/域名的那一行,删除它,保存退出后重新连接即可。

Windows(PuTTY用户)

打开PuTTY客户端:

  1. 在左侧导航栏依次展开「Connection」→「SSH」→「Host Keys」
  2. 在右侧列表里找到对应远程主机的密钥条目,选中后点击「Remove」删除
  3. 重新发起连接,PuTTY会提示你确认新的主机密钥,点击「Yes」完成验证。

重要提醒

如果不确定主机密钥变更是正常操作,一定要先联系服务器管理员确认新的密钥指纹,排除中间人攻击的风险后再进行上述操作!

内容的提问来源于stack exchange,提问作者Kirill Kochetov

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 12:24:51