ssh远程连接报错WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! :本地ssh公钥不一致问题

这个错误的核心原因是:你的本地SSH客户端记录的 172.20.10.3 主机公钥,和当前该主机返回的公钥不一致(比如香橙派重装系统、更换SSH配置、IP被复用等),SSH为了防止中间人攻击,拒绝连接。

以下是Windows系统下的解决方法(优先推荐命令行方式,更快捷):

方法1:用ssh-keygen命令一键清理旧密钥(推荐)

  1. 打开Windows的cmd或PowerShell(直接在开始菜单搜即可);

  2. 执行以下命令(替换IP为你的香橙派IP):

    bash 复制代码
    ssh-keygen -R 172.20.10.3

    这个命令会自动删除C:\Users\DengNM\.ssh\known_hosts文件中对应172.20.10.3的所有旧密钥条目;

  3. 重新执行SSH连接命令:

    bash 复制代码
    ssh orangepi@172.20.10.3

    此时会提示你是否信任新的主机密钥,输入yes回车,再输入密码即可正常连接。

方法2:手动编辑known_hosts文件(适合不想用命令行的情况)

  1. 打开文件资源管理器,输入路径C:\Users\DengNM\.ssh(如果看不到.ssh文件夹,需先显示隐藏文件:文件资源管理器→查看→勾选「隐藏的项目」);
  2. 找到known_hosts文件,用记事本/VSCode等文本编辑器打开;
  3. 找到第15行(错误提示里写的Offending ECDSA key in ...:15),删除这一行(如果不确定,也可以直接删除包含172.20.10.3的所有行);
  4. 保存文件后,重新执行SSH连接命令,按提示输入yes信任新密钥即可。

重要注意事项

  • 执行前请确认172.20.10.3确实是你自己的香橙派设备,而非陌生主机(避免真的遭遇中间人攻击);
  • 不要直接删除整个known_hosts文件(虽然也能解决问题,但会丢失所有已连接过的主机密钥记录,下次连接其他服务器都要重新确认)。
相关推荐
Gauss松鼠会5 小时前
高斯数据库(openGauss)的物理存储结构
运维·服务器·数据库·sql·opengauss·经验总结
Android系统攻城狮5 小时前
Linux Gstreamer深度解析之gst_audio_ring_buffer_prepare_read调用流程与实战(七十四)
linux·运维·服务器·gstreamer音视频·音视频进阶
杨云龙UP5 小时前
PostgreSQL 18.4 数据库整库迁移实战:pg_dump 备份与 pg_restore 恢复完整操作手册
运维·服务器·数据库·postgresql·pg_dump·pg_restore
无人生还别怕6 小时前
如何安装任意版本docker
运维·docker·容器
T0uken7 小时前
Colab:SSH 访问免费 GPU Server
运维·ssh
Python大数据分析@7 小时前
通过 MCP 实现 AI Agent自动化数据采集
运维·人工智能·爬虫·自动化
Initialize293087 小时前
告警一条接一条刷屏?五步治理告警风暴
运维
帷幕落秋7 小时前
Docker镜像加速
运维·docker
帷幕落秋8 小时前
Docker原理-理论基础
运维·docker
有毒的教程8 小时前
Linux底层存储路由配
linux·运维·网络