百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

Linux远程rsync免密同步文件

mhr18 2025-01-07 14:21 11 浏览 0 评论

简介

现在很多场景都会用到rsync去备份文件,默认情况下,执行rsync命令是需要输入密码的,如果写shell脚本,就不太方便,所以这里就配置免密。

环境简介

操作系统版本:CentOS Linux release 7.7.1908 (Core)
主机A:192.168.17.128
主机B:192.168.17.130

在本地服务器生成公钥

在Linux操作系统,要是实现2台主机之间实现免密登录,需要先在本地Linux服务器生成一个公钥,然后将公钥拷贝到远程服务器上,就可以实现远程免密登录了。

1.在192.168.17.128服务器上生成公钥
执行ssh-keygen命令之后,需要输入的选项,可以直接回车

[mysql@192 ~]$ ssh-keygen 
Generating public/private rsa key pair.
Enter file in which to save the key (/home/mysql/.ssh/id_rsa): 
Created directory '/home/mysql/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/mysql/.ssh/id_rsa.
Your public key has been saved in /home/mysql/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:+Ay6O18jexPaARVpDlTZkbz26U9fpDSmSzGjI+YpGu4 mysql@192.168.17.128
The key's randomart image is:
+---[RSA 2048]----+
|     ...o*.o     |
|      . = +      |
|       =   .     |
|      ... o      |
|      o.S. .+.+ .|
|     . +o  .oB + |
|    o .oBoo.o o .|
|   ..oo*++ o.o ..|
|   .E=ooo.  ... .|
+----[SHA256]-----+

上面命令执行完毕之后,会在mysql用户目录下,生成一个目录“.ssh”

[mysql@192 ~]$ ls -al|grep -i ssh
drwx------   2 mysql mysql      38 Sep  5 10:50 .ssh

在.ssh目录下会有2个文件,一个是公钥,一个是私钥

[mysql@192 .ssh]$ ll
total 8
-rw------- 1 mysql mysql 1675 Sep  5 10:50 id_rsa
-rw-r--r-- 1 mysql mysql  402 Sep  5 10:50 id_rsa.pub

上传公钥到远程服务器

现在将192.168.17.128服务器上生成的公钥,上传到192.168.17.130服务器上。

1.执行ssh-copy-id 命令拷贝公钥到远程服务器

[mysql@192 ~]$ ssh-copy-id -i /home/mysql/.ssh/id_rsa.pub mysql@192.168.17.130
/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/mysql/.ssh/id_rsa.pub"
The authenticity of host '192.168.17.130 (192.168.17.130)' can't be established.
ECDSA key fingerprint is SHA256:I5mQVkAiPi20DGxpgdJHHiI+BoboH78H5hvxweJdxAc.
ECDSA key fingerprint is MD5:1c:6f:ad:b2:20:9d:5f:0e:7f:96:73:17:30:b1:55:1f.
Are you sure you want to continue connecting (yes/no)? yes
/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
mysql@192.168.17.130's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'mysql@192.168.17.130'"
and check to make sure that only the key(s) you wanted were added.

2.检查远程服务器认证key
检查192.168.17.130服务器用户mysql目录.ssh有认证key

[mysql@oracle11gR2 .ssh]$ pwd
/home/mysql/.ssh
[mysql@oracle11gR2 .ssh]$ ls -l
total 4
-rw-------. 1 mysql mysql 402 Jan  4 05:42 authorized_keys

3.测试远程免密登录

[mysql@192 ~]$ ssh mysql@192.168.17.130
Last login: Mon Jan  4 05:41:57 2021
[mysql@oracle11gR2 ~]$ 

可以看到已经可以远程免密登录了。

rsync免密传输

上面配置好mysql免密ssh登录之后,就可以rsync免密传输了。

[mysql@192 testdir]$ rsync -avP /home/mysql/testdir/*log mysql@192.168.17.130:/home/mysql/testlog
sending incremental file list
test.log
             10 100%    0.00kB/s    0:00:00 (xfr#1, to-chk=0/1)

sent 117 bytes  received 35 bytes  304.00 bytes/sec
total size is 10  speedup is 0.07

可以看到已经不需要输入密码了。

相关推荐

Docker安装详细步骤及相关环境安装配置

最近自己在虚拟机上搭建一个docker,将项目运行在虚拟机中。需要提前准备的工具,FinallShell(远程链接工具),VM(虚拟机-配置网络)、CentOS7(Linux操作系统-在虚拟机上安装)...

Linux下安装常用软件都有哪些?做了一个汇总列表,你看还缺啥?

1.安装列表MySQL5.7.11Java1.8ApacheMaven3.6+tomcat8.5gitRedisNginxpythondocker2.安装mysql1.拷贝mysql安装文件到...

Nginx安装和使用指南详细讲解(nginx1.20安装)

Nginx安装和使用指南安装1.检查并安装所需的依赖软件1).gcc:nginx编译依赖gcc环境安装命令:yuminstallgcc-c++2).pcre:(PerlCompatibleRe...

docker之安装部署Harbor(docker安装hacs)

在现代软件开发和部署环境中,Harbor作为一个企业级的容器镜像仓库,提供了高效、安全的镜像管理解决方案。通过Docker部署Harbor,可以轻松构建私有镜像仓库,满足企业对镜像存储、管理和安全性...

成功安装 Magento2.4.3最新版教程「技术干货」

外贸独立站设计公司xingbell.com经过多次的反复实验,最新版的magento2.4.3在oneinstack的环境下的详细安装教程如下:一.vps系统:LinuxCentOS7.7.19...

【Linux】——从0到1的学习,让你熟练掌握,带你玩转Linu

学习Linux并掌握Java环境配置及SpringBoot项目部署是一个系统化的过程,以下是从零开始的详细指南,帮助你逐步掌握这些技能。一、Linux基础入门1.安装Linux系统选择发行版:推荐...

cent6.5安装gitlab-ce最新版本-11.8.2并配置邮件服务

cent6.5安装gitlab-ce最新版本-11.8.2并配置邮件服务(yum选择的,时间不同,版本不同)如果对运维课程感兴趣,可以在b站上搜索我的账号:运维实战课程,可以关注我,学习更多免费的运...

时隔三月,参加2020秋招散招,终拿字节跳动后端开发意向书.

3个月前头条正式批笔试4道编程题只AC了2道,然后被刷了做了200多道还是太菜了,本来对字节不抱太大希望,毕竟后台竞争太大,而且字节招客户端开发比较多。后来看到有散招免笔试,抱着试一试的心态投了,然而...

Redisson:Java程序员手中的“魔法锁”

Redisson:Java程序员手中的“魔法锁”在这个万物互联的时代,分布式系统已经成为主流。然而,随着系统的扩展,共享资源的争夺成为了一个棘手的问题。就比如你想在淘宝“秒杀”一款商品,却发现抢的人太...

【线上故障复盘】RPC 线程池被打满,1024个线程居然不够用?

1.故障背景昨天晚上,我刚到家里打开公司群,就看见群里有人讨论:线上环境出现大量RPC请求报错,异常原因:被线程池拒绝。虽然异常量很大,但是异常服务非核心服务,属于系统旁路,服务于数据核对任务,即使...

小红书取消大小周,有人不高兴了!

小红书宣布五一节假日之后,取消大小周,恢复为正常的双休,乍一看工作时长变少,按道理来说大家应该都会很开心,毕竟上班时间缩短了,但是还是有一些小红书的朋友高兴不起来,心情很复杂。因为没有了大小周,以前...

延迟任务的多种实现方案(延迟机制)

场景订单超时自动取消:延迟任务典型的使用场景是订单超时自动取消。功能精确的时间控制:延时任务的时间控制要尽量准确。可靠性:延时任务的处理要是可靠的,确保所有任务最终都能被执行。这通常要求延时任务的方案...

百度java面试真题(java面试题下载)

1、SpingBoot也有定时任务?是什么注解?在SpringBoot中使用定时任务主要有两种不同的方式,一个就是使用Spring中的@Scheduled注解,另一个则是使用第三方框架Q...

回归基础:访问 Kubernetes Pod(concurrent.futures访问数据库)

Kubernetes是一头巨大的野兽。在它开始有用之前,您需要了解许多概念。在这里,学习几种访问集群外pod的方法。Kubernetes是一头巨大的野兽。在它开始有用之前,您需要了解许多不同的...

Spring 缓存神器 @Cacheable:3 分钟学会优化高频数据访问

在互联网应用中,高频数据查询(如商品详情、用户信息)往往成为性能瓶颈。每次请求都触发数据库查询,不仅增加服务器压力,还会导致响应延迟。Spring框架提供的@Cacheable注解,就像给方法加了一...

取消回复欢迎 发表评论: