Linux之rsync免密登录
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的方式,但是我没有经过验证。感兴趣的朋友可以自行验证下。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!