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

Linux通过 SSH 使用 rsync 进行文件传输

目录

  • 目的
  • 整体思路
  • ssh建立连接
    • A服务器上的操作
      • 输入 ssh-keygen 生成密钥对
      • 查看公钥
    • B服务器上的操作
      • 设置公钥认证
    • A服务器上的操作
      • 使用SSH登录进行测试
  • 同步数据
  • 知识拓展
    • SSH(Secure Shell)
    • rsync(Remote Sync)

目的

使用SSH(Secure Shell)建立两台Linux服务器之间的连接,并使用rsync(Remote Sync)来同步文件,假设A服务器想同步
数据到B服务器

整体思路

1、在发送方服务器生成密钥对,并将公钥内容复制。
2、生成公钥并放到目标服务器的 authorized_keys 文件中,并修改文件权限。
3、确保发送方服务器和接收方服务器都安装了 rsync。
4、使用 rsync 进行文件传输:
在发送方服务器使用 rsync 命令格式进行文件传输

ssh建立连接

root权限下操作

A服务器上的操作

输入 ssh-keygen 生成密钥对

ssh-keygen 

ssh-keygen 是一个用于生成、管理和转换身份验证密钥的工具,它默认生成 RSA 密钥对。
密钥对包括一个公钥和一个私钥。公钥可以公开分享,而私钥则必须保持私密。
在SSH认证中,公钥用于验证客户端的身份,而私钥用于在客户端上证明其身份。

查看公钥

cat /root/.ssh/id_rsa.pub

使用 cat /root/.ssh/id_rsa.pub 命令可以查看生成的公钥文件内容。
这个公钥需要被复制到其他想要无密码SSH登录的服务器上。

B服务器上的操作

设置公钥认证

mkdir /root/.ssh
cd /root/.ssh
touch authorized_keys
vi authorized_keys
chmod 600 /root/.ssh/authorized_keys

mkdir /root/.ssh:在另一台服务器上创建 .ssh 目录,用于存放SSH相关的密钥和配置文件。
cd /root/.ssh:切换到 .ssh 目录。
touch authorized_keys:创建一个名为 authorized_keys 的文件。这个文件用于存放允许无密码登录的公钥。
vi authorized_keys:使用 vi 编辑器编辑 authorized_keys 文件。在此处,需要将之前从第一台机器上复制的公钥粘贴进去。
chmod 600 /root/.ssh/authorized_keys:修改 authorized_keys 文件的权限。确保只有root用户可以读取和写入该文件,其他用户没有任何权限。这是为了安全起见,防止其他用户读取或修改您的公钥。

A服务器上的操作

使用SSH登录进行测试

在创建公钥的机器上,可以使用 ssh ip (其中 ip是想连接的那台服务器的IP地址-也就是B服务器的ip)来验证无密码登录是否可以成功。道理就是SSH将使用之前设置的公钥和私钥进行身份验证,而无需输入密码。

为什么要这么做?

公钥/私钥认证是一种安全的身份验证方法,它使用加密技术来验证客户端的身份,而无需在每次登录时输入密码。
这对于自动化脚本、频繁登录或需要高安全性的环境特别有用。
通过使用公钥/私钥认证,可以减少密码泄露的风险,并增加系统的安全性。

同步数据

在A服务器上使用rsync进行数据同步

rsync -azv -e ssh /dmsd/tttt 192.168.10.120:/aaa

上面的/dmsd/tttt 是A服务器上想同步的文件夹路径
192.168.10.120是B服务器的ip
/aaa是B服务器上存放文件的位置

知识拓展

SSH(Secure Shell)

SSH 是一种加密的网络传输协议,用于在不安全的网络中安全地执行远程命令或传输数据。SSH 通过加密所有传输的数据(包括密码)来提供安全性,这有助于防止中间人攻击和数据泄露。SSH 还提供了身份验证机制,确保只有经过授权的用户才能访问远程服务器。

在建立两台Linux服务器之间的连接时,SSH 是首选的协议,因为它提供了强大的加密和身份验证功能。一旦建立了SSH连接,用户就可以在远程服务器上执行命令,就像他们坐在服务器前一样。

rsync(Remote Sync)

rsync 是一个用于同步文件和目录的工具。它可以在本地或远程文件系统之间复制和同步文件,只传输文件之间的差异部分(即增量备份),从而大大减少了传输的数据量。这使得rsync成为在大型文件集或目录中进行备份和同步的高效方法。

rsync 支持多种传输协议,包括SSH。当使用SSH作为传输协议时,rsync可以通过SSH连接安全地同步文件和目录。这意味着文件在传输过程中是加密的,并且只有经过身份验证的用户才能访问它们。

相关文章:

Linux通过 SSH 使用 rsync 进行文件传输

目录 目的整体思路ssh建立连接A服务器上的操作输入 ssh-keygen 生成密钥对查看公钥 B服务器上的操作设置公钥认证 A服务器上的操作使用SSH登录进行测试 同步数据知识拓展SSH(Secure Shell)rsync(Remote Sync) 目的 使用SSH&#…...

【保姆级介绍下Foxmail 邮箱】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…...

ABAP MD04增强排除MRP元素

场景 MD04跑出来很多MRP元素,用户想手工控制某些MRP元素不参与运算 分析 增强点还蛮好找的,控制MRP元素是否参与运算用下面的se19三代增强点就可以,打个断点看下MD04进的哪个增强点就行 旧版本的用这个:MD_CHANGE_MRP_DATA 新…...

构建一个简单的情感分析器:使用Python和spaCy

构建一个简单的情感分析器:使用Python和spaCy 引言 情感分析是自然语言处理(NLP)中的一项重要技术,它可以帮助企业和研究人员理解公众对特定主题或产品的看法。 在本篇文章中,我们将使用Python编程语言和 spaCy 库来构…...

数据库设计实例---学习数据库最重要的应用之一

一、引言【可忽略】 在学习“数据库系统概述”这门课程时,我一直很好奇,这样一门必修课,究竟教会了我什么呢? 由于下课后,,没有拓展自己的眼界,上课时又局限于课堂上老师的讲课水平,…...

数据结构算法题day05

数据结构算法题day05 题目算法思想代码运行代码 题目 从有序表中删除所有其值重复的元素,使表中所有元素的值均不同。算法思想 第一个元素(不重复)依次向后扫描,不重复就保留,重复(不保留)就删…...

关于《Java并发编程之线程池十八问》的补充内容

一、写在开头 在上一篇文章我们写《Java并发编程之线程池十八问》的时候,鉴于当时的篇幅已经过长,很多内容就没有扩展了,在这篇文章里对一些关键知识点进行对比补充。 二、Runnable vs Callable 在创建线程的时候,一般会选用 Runnable 和 Callable 两种方式。 【源码对…...

扒出秦L三个槽点,我不考虑买它了

文 | Auto芯球 作者 | 雷慢 比亚迪的有一个王炸“秦L”,再一次吸引了我注意力, 我上一辆车刚卖不久,最近打算买第二辆车, 二手车和新车都有在看, 我又是一个坚定的实用主义者, 特别是现在的经济环境不…...

【408真题】2009-28

“接”是针对题目进行必要的分析,比较简略; “化”是对题目中所涉及到的知识点进行详细解释; “发”是对此题型的解题套路总结,并结合历年真题或者典型例题进行运用。 涉及到的知识全部来源于王道各科教材(2025版&…...

LeetCode---链表

203. 移除链表元素 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 代码示例1:(直接使用原来的链表来进行移除节点操作) //时间复杂度: O(n) //空间复杂度: O(1) class Solu…...

idea 快捷键运用

ctrl d 向下复制一行 shiftalt↑/↓ 向上或者向下移动光标所在行 shiftctrl↑/↓ 向上或者向下移动光标所在行(自动对齐) shift F6 rename包名或者类名或者批量修改变量名(不建议更改项目名,包名也尽量别改) 输入if 然后ctrlshift回车 补全缺失的括号 shift …...

k8s问题

文章目录 本地搭K8s集群 bilibili什么是声明式API?kubectl apply Etcd数据库有什么特性,为什么K8S选用了Etcd数据库?K8S中一个node的生命周期是怎样的?服务发现机制介绍docker的实现原理介绍如果只是使用Linux命名空间进行分离&am…...

串口通信问题排查总结

串口通信问题排查 排查原则: 软件从发送处理到接收处理,核查驱动、控制及发送接收数据是否正常。硬件从发送到接收,针对信号经过的各段,分段核对信号是否正常。示波器、逻辑分析仪。用万用表、示波器、逻辑分析仪等工具&#xf…...

【教学类-59-】专注力视觉训练01(圆点百数图)

背景需求: 视觉训练的神奇效果,让你的宝贝成为焦点 - 小红书魔法视觉追踪-视觉训练—— 🔍视觉训练🔍 🔹想要提高宝宝的专注力,视觉训练是个绝佳方法! 🔹让宝宝仔细观察数字的路线&a…...

C 语言实例 - 循环输出26个字母

循环输出 26 个字母。 以下例子我们用变量 letter 来存储当前要输出的字母,然后,使用 for 循环来重复 26 次输出字母,并在每个字母后面加一个空格。 循环内部使用 printf 函数来输出 letter 变量的值,%c 是 printf 的格式控制符…...

qt多语言翻译不生效的原因

假设您有QT语言家的基础知识,假设网上那些所有的问题您都已经排查过了,但依然翻译不生效,那么可以看下这篇帖子,其实就一个问题,变量的生命周期,假设QTranslator是一个函数内的变量,且没有被声明…...

springboot集成达梦数据库8,用springboot+mtbatisplus查询值为空

springboot集成达梦数据库8,用springbootmtbatisplus查询值为空 背景:springboot集成达梦数据库8,用springbootmtbatisplus查询值为空,但是在DB管理工具中是可以查询到数据的。 原因及解决方法:执行添加语句后&#xf…...

C语言-----指针数组 \ 数组指针

一 指针数组 用来存放指针的数组 int arr[10]; //整型数组 char ch[5]; //字符数组 int * arr[6]; //存放整型指针的数组 char * arr[5]; //存放字符指针的数组 // 指针数组的应用 int main() {int arr1[] { 1,2,3,4,5 };int arr2[] { 2,3,4,5,6 };int arr3[] { 3,4,…...

Go语言 gRPC 简述

参考文章: 聊聊gRPC的特性和背后设计的原则(一)-腾讯云开发者社区-腾讯云 grpc-我们为什么要用gRpc?gRpc快在哪里?_grpc 优点-CSDN博客 GRPC详解-CSDN博客 1. 什么是gRPC gRPC 是一个高性能 远程调用(RPC)框架&#…...

信息系统项目管理师0136:工具与技术(8项目整合管理—8.9结束项目或阶段—8.9.2工具与技术)

点击查看专栏目录 文章目录 8.9.2 工具与技术 8.9.2 工具与技术 专家判断 结束项目或阶段过程中,应征求具备如下领域相关专业知识或接受过相关培训的个人或小组的意见,涉及领域包括:管理控制;审计;法规与采购&#xf…...

龙虎榜——20250610

上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析

今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...

C++使用 new 来创建动态数组

问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中,车辆不再仅仅是传统的交通工具,而是逐步演变为高度智能的移动终端。这一转变的核心支撑,来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒(T-Box)方案:NXP S32K146 与…...

面向无人机海岸带生态系统监测的语义分割基准数据集

描述:海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而,目前该领域仍面临一个挑战,即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...

4. TypeScript 类型推断与类型组合

一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式,自动确定它们的类型。 这一特性减少了显式类型注解的需要,在保持类型安全的同时简化了代码。通过分析上下文和初始值,TypeSc…...

【 java 虚拟机知识 第一篇 】

目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...

wpf在image控件上快速显示内存图像

wpf在image控件上快速显示内存图像https://www.cnblogs.com/haodafeng/p/10431387.html 如果你在寻找能够快速在image控件刷新大图像(比如分辨率3000*3000的图像)的办法,尤其是想把内存中的裸数据(只有图像的数据,不包…...

nnUNet V2修改网络——暴力替换网络为UNet++

更换前,要用nnUNet V2跑通所用数据集,证明nnUNet V2、数据集、运行环境等没有问题 阅读nnU-Net V2 的 U-Net结构,初步了解要修改的网络,知己知彼,修改起来才能游刃有余。 U-Net存在两个局限,一是网络的最佳深度因应用场景而异,这取决于任务的难度和可用于训练的标注数…...