系统重装之后,通过ssh无法登录

复制代码
系统重装之后,通过ssh登录的时候报错:
WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been changed. The fingerprint for the ECDSA key sent by the remote host is SHA256:0Vhha2ZvN74HKh2vvQpS3zk. Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message. Offending ED25519 key in /var/lib/sss/pubconf/known_hosts:6
ECDSA host key for 10.2.2.15 has changed and you have requested strict Host key verification failed.

这个错误是由于系统重装后,远程主机的SSH密钥发生了变化,而本地计算机的 known_hosts 文件中仍然保存着旧的密钥记录。SSH客户端检测到这种不一致,出于安全考虑会拒绝连接,以防止中间人攻击(MITM)。

可能原因 解决方案
known_hosts 缓存问题 ssh-keygen -R 10.2.2.15 或删除相关文件
SSH 服务端密钥丢失 在目标服务器运行 sudo ssh-keygen -A
DNS/IP 冲突 检查 pingarp
防火墙/网络问题 检查 telnet 10.2.2.15 22
SSH 客户端强制检查 临时加 -o StrictHostKeyChecking=no

如果仍然无法解决,请检查:

  • 完整的 ssh -vvv root@10.2.2.15 输出(调试信息)。

  • 目标服务器的 /etc/ssh/sshd_config 是否有特殊配置。

解决法:

1、先检查dns上是否有原来的ip的记录,nslookup 10.2.2.15 ,如果有相关的记录,则删除相关的记录,再重新加到dns或者重新加域。

2、清除缓存或者密钥记录

方法 1:删除旧的密钥记录(推荐)
  1. 打开终端,运行以下命令删除旧记录

    复制代码
    ssh-keygen -R 10.2.2.15

    10.2.2.15 是目标主机的IP或主机名,替换成你的实际地址)

  2. 重新连接,系统会提示你接受新的主机密钥:

    复制代码
    ssh root@10.2.2.15

方法 2:手动编辑 known_hosts 文件
  1. 找到报错中提到的 known_hosts 文件(如 /root/.ssh/known_hosts/var/lib/sss/pubconf/known_hosts)。

  2. 用文本编辑器(如 vimnano)打开该文件:

    复制代码
    nano /var/lib/sss/pubconf/known_hosts
  3. 删除与 10.2.2.15 相关的行(报错中提到的第6行)。

  4. 保存文件并重新连接。


方法 3:临时关闭严格主机密钥检查(不推荐,仅用于测试)

如果只是临时测试,可以禁用严格检查(不安全,慎用):

复制代码
ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null root@10.2.2.15

用超级管理员root 清除服务器缓存:sss_cache -E

但长期使用会降低安全性。

相关推荐
frank00600712 小时前
Rocky 9.8设置本地yum源
服务器
智脑API平台2 小时前
Codex CLI 怎么用 .env 配置 API Key?本地项目和自动化脚本接入教程
运维·自动化
土星云SaturnCloud2 小时前
边缘计算在储气库调峰智能管控中的应用:架构设计与技术解析
服务器·人工智能·ai·边缘计算
无足鸟ICT2 小时前
【RHCA+】bash命令
linux·开发语言·bash
weixin_307779132 小时前
Linux下Docker Compose里运行的MySQL数据库故障诊断Shell脚本
linux·运维·mysql·docker·自动化
小生不才yz2 小时前
Shell脚本精读 · S14-02 | 脚本模板:从 20 行工具到可维护项目
linux
x-cmd3 小时前
Linus 9 年前说「模糊测试有效」——今天已成 OSS-Fuzz 时代铁律
linux·ai·rust·开源·自动化·agent·安全性测试
流浪0013 小时前
Git篇(三):吃透远程协作:SSH 密钥、分支、标签全流程实战指南
运维·git·ssh
六点_dn4 小时前
Linux学习笔记-chmod命令
linux·笔记·学习
NiceCloud喜云4 小时前
Claude Code 应用内浏览器任务怎么写验收清单
服务器·人工智能·ai