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文件(虽然也能解决问题,但会丢失所有已连接过的主机密钥记录,下次连接其他服务器都要重新确认)。
相关推荐
木头左17 小时前
【Nginx】内网服务源 IP 白名单实战:动态域名解析放行网段 + 端口接管零改造
运维·nginx·白名单·反向代理
禁默17 小时前
启元 Q1 二次开发实践:Ubuntu 部署与仿真验证,从 PrimeConsole 到 ROS 2 Humble + RViz
linux·运维·ubuntu
skywalk816318 小时前
把 去也网站 从 Ubuntu 搬到 FreeBSD:一次 Service Jail + nginx 的部署实录
linux·运维·nginx·ubuntu·freebsd
翔云12345619 小时前
RocksDB中,客户端每写入一次数据,需要访问几次磁盘
运维·数据库·mysql
爱莉希雅&&&20 小时前
GitLab 完整学习笔记
linux·运维·服务器
小杨爱科普21 小时前
制造业上自动化改造,改造部分的专利到底归谁
运维·经验分享·自动化
方便面不加香菜1 天前
Docker Container --容器及容器的操作案例详解
运维·docker·容器
AR-26710-1 天前
Linux Day32——实操五类资源告急排查
linux·运维
skywalk81631 天前
hive 常驻集群:像 OSPF 一样在线,像 git 一样可信
运维·人工智能·hive
景煜拾年1 天前
InnoAI SQL 助手
运维·数据库·笔记·sql