Linux之rsync免密登录

本文介绍了如何通过SSH-keygen生成密钥对,使用ssh-copy-id将公钥复制到目标服务器,从而实现在rsync文件同步时免于手动输入密码的过程。还提到其他两种可能的免密方式:密码文件和环境变量设置。
摘要由CSDN通过智能技术生成

SSH-key方式免密登录

在做项目的过程中有同步文件的需求,经过考察后选择了rsync作为同步文件工具,但是默认情况下rsync同步文件需要手动输入密码,由于同步文件功能是在程序中实现的,无法手动输入密码,所以必须免密输入。通过查询找到了一种免密输入的方法,先记录如下:

步骤一:

执行ssh-keygen命令,注意这个命令要在执行rsync同步命令的机器执行,结果如下:

consys@consys-Lenovo-Legion-Y7000:~$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/consys/.ssh/id_rsa):
/home/consys/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/consys/.ssh/id_rsa
Your public key has been saved in /home/consys/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:+lQopQ37ztJv+4cCGKgj5zQ6RgvlKw02rSeDIZuumNc consys@consys-Lenovo-Legion-Y7000
The key's randomart image is:
+---[RSA 3072]----+
|                 |
|                 |
|     .. .        |
|  . . .* .       |
| o..  +oS .      |
|*+B.  .+..       |
|*%+=  ..o.   .   |
|OB=.E .=. o . .  |
|B=+    .+oo+..   |
+----[SHA256]-----+

步骤二:

执行ssh-copy-id命令,将生成的文件拷贝到服务器,即要从哪台机器下载,拷贝到哪台机器。ssh-copy-id命令也是在ssh-keygen执行的机器执行。命令如下:

ssh-copy-id -i ~/.ssh/id_rsa.pub username@192.168.11.24

username:填写用户名

ip:填写实际ip

步骤三

执行rsync下载命令,即可面你输入。

拓展

除上面的方式外,rsync还可以通过执行密码文件的方式实现免密登录,也可以通过设置环境变量RSYNC_PASSWORD的方式,但是我没有经过验证。感兴趣的朋友可以自行验证下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值