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文件(虽然也能解决问题,但会丢失所有已连接过的主机密钥记录,下次连接其他服务器都要重新确认)。
相关推荐
小二李1 小时前
第11章 nestjs服务端开发:登录鉴权
运维·服务器
i建模2 小时前
如何在Arch Linux中重设忘记的root密码
linux·运维·服务器
chatexcel3 小时前
元空AI+Clawdbot:7×24 AI办公智能体新形态详解(长期上下文/自动化任务/工具粘合)
运维·人工智能·自动化
kida_yuan3 小时前
【Linux】运维实战笔记 — 我常用的方法与命令
linux·运维·笔记
何中应5 小时前
vmware的linux虚拟机如何设置以命令行方式启动
linux·运维·服务器
江畔何人初5 小时前
kubernet与docker的关系
linux·运维·云原生
bubuly6 小时前
软件开发全流程注意事项:从需求到运维的全方位指南
大数据·运维·数据库
j_xxx404_7 小时前
Linux:进程程序替换
linux·运维·服务器
Genie cloud7 小时前
VPS 网络连接故障诊断与排查实用指南
linux·服务器·ssh
RisunJan7 小时前
Linux命令-lnstat(快速查找文件和目录)
linux·运维·服务器