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

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

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

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

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

  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文件(虽然也能解决问题,但会丢失所有已连接过的主机密钥记录,下次连接其他服务器都要重新确认)。
相关推荐
QT 小鲜肉2 小时前
【Linux命令大全】001.文件管理之find命令(实操篇)
linux·运维·前端·chrome·笔记
遇见火星2 小时前
Linux 如何设置开机自启:全面指南!
linux·运维·服务器·systemd
强风7942 小时前
Linux-线程概念与控制
linux·运维
嘻哈baby2 小时前
服务降级与熔断机制实战:让系统优雅地挂
运维
伞啊伞2 小时前
docker作业
运维·docker·容器
qq_353737542 小时前
国内外通用一键跨版本升级教程(封禁国外VPS适用)
运维
代码游侠2 小时前
应用——基于Linux的音乐播放器项目
linux·运维·笔记·学习·算法
wniuniu_3 小时前
ceph运维
运维·javascript·ceph
wadesir3 小时前
Debian SSH密钥生成(详细教程:使用ssh-keygen命令配置安全远程登录)
安全·debian·ssh