Linux之rsync免密登录

2023-12-13 05:37:50

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的方式,但是我没有经过验证。感兴趣的朋友可以自行验证下。

文章来源:https://blog.csdn.net/iqanchao/article/details/134848074
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。