当前位置: 首页 > news >正文

rsync报错解决

问题说明

[root@localhost shyn]# rsync -avz --checksum "root@192.168.159.133:/tmp/shyn" "/tmp                                                                                         /shyn"
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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 ED25519 key sent by the remote host is
SHA256:dU0gIAFptmBkxpnuKlblOTFH8VIwKPHzdJRaqrMVzSM.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending ED25519 key in /root/.ssh/known_hosts:1
ED25519 host key for 192.168.159.133 has changed and you have requested strict chec                                                                                         king.
Host key verification failed.
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: unexplained error (code 255) at io.c(226) [Receiver=3.1.3]

问题解决

这个错误表明远程主机(192.168.159.133)的SSH密钥已变更,导致本地主机的 known_hosts 文件中的记录不匹配。以下是解决方案:

1. 问题原因

  • 远程主机的SSH密钥因重装系统、IP冲突或人为修改而变更。
  • 本地主机的 ~/.ssh/known_hosts 仍保存旧密钥,触发安全警告。

2. 解决方法

方法 1:删除旧密钥记录(推荐)
ssh-keygen -R 192.168.159.133
  • 作用:从 known_hosts 中移除该IP的所有旧密钥。
  • 后续操作:下次连接时会自动添加新密钥。
方法 2:手动编辑 known_hosts 文件
sed -i '/192.168.159.133/d' ~/.ssh/known_hosts
方法 3(不安全,仅限信任网络):临时跳过密钥检查
rsync -avz --checksum -e "ssh -o StrictHostKeyChecking=no" root@192.168.159.133:/tmp/shyn /tmp/shyn

警告:此方法会禁用主机密钥验证,存在中间人攻击风险,仅用于测试环境。


3. 验证解决

重新执行rsync命令,系统会提示接受新密钥:

rsync -avz --checksum root@192.168.159.133:/tmp/shyn /tmp/shyn

输入 yes 确认后,新密钥将自动存入 known_hosts


4. 预防措施

场景操作
频繁重装虚拟机使用固定IP和SSH密钥对,避免密钥变更。
多主机共用IP为每台主机分配唯一IP,或使用主机名而非IP连接。
自动化脚本在脚本中添加密钥清理步骤:`ssh-keygen -R

附:SSH密钥管理常用命令

命令用途
ssh-keygen -R <IP>删除指定IP的旧密钥
ssh-keygen -F <IP>检查密钥是否已存在
ssh-keyscan -H <IP> >> ~/.ssh/known_hosts提前获取并信任远程主机密钥

操作流程图

rsync报密钥错误
是否信任该主机?
删除旧密钥
终止连接
重新执行rsync接受新密钥
成功同步

通过以上步骤,可安全解决主机密钥变更导致的连接问题。

http://www.dtcms.com/a/291348.html

相关文章:

  • Shopify 知识点
  • 草木知音的认知进化:Deepoc具身智能如何让除草机读懂花园的呼吸
  • 设备监控之数据处理(1)-概述
  • MQ 核心知识点笔记
  • Android开发中卡顿治理方案
  • 用基础模型构建应用(第十章)AI Engineering: Building Applications with Foundation Models学习笔记
  • 如何用纯 HTML 文件实现 Vue.js 应用,并通过 CDN 引入 Element UI
  • 【PHP 流程控制完全指南】
  • 多端适配灾难现场:可视化界面在PC/平板/大屏端的响应式布局实战
  • .NET依赖注入IOC你了解吗?
  • 开发避坑短篇(3):解决@vitejs plugin-vue@5.0.5对Vite^5.0.0的依赖冲突
  • 万界星空科技锂电池MES解决方案
  • Shell判断结构
  • voice模块
  • 【图论】CF——B. Chamber of Secrets (0-1BFS)
  • 标准文件I/O补充知识
  • paddleocr安装,数据集制作,训练自己的模型,调用训练好的模型
  • 20250721-day19
  • 【PTA数据结构 | C语言版】双连通分量
  • C# 实现:动态规划解决 0/1 背包问题
  • nextjs编程式跳转
  • 《小白学习产品经理》第七章:方法论之波特五力模型
  • springcloud -- 微服务02
  • Iridium Certus 9704 卫星物联网开发套件
  • cuda编程笔记(9)--使用 Shared Memory 实现 tiled GEMM
  • 补环境基础(二) this的作用和绑定规则
  • 关于Ajax的学习笔记
  • synchronized 修饰符的使用
  • (7)ROS2-MUJOCO联合仿真环境迁移优化
  • MVCC 多版本并发控制 详解