rsync有两种常用的认证方式,一种为rsync-daemon方式,另外一种则是ssh,在一些场合,使用rsync-daemon方式会比较缺乏灵活性,ssh方式则成为首选,本篇文章良许教程网为大家分享一下无密码通过ssh执行rsync具体方法。
1. 测试通过ssh可以执行rsync(需要密码)
执行rsync,确保你帐户的密码在远程服务器上可以使用,并能够将文件复制到远程服务器。
例:将本地目录 /home/linuxprobe同步到远程目录/back/linuxprobe(服务器地址:192.168.200.10) ,执行此操作时,服务器会要求你输入密码
rsync -avz -e ssh /home/linuxprobe / linuxprobe@192.168.200.10:/backup/linuxprobe/
2. 使用ssh-keygen生成密匙
现在我们来配置ssh使得通过ssh执行rsync时不再索要密码。在本地服务器上使用ssh-keygen生成公钥和秘钥。
$ ssh-keygen
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
注意:当它要求您输入passphrase按下enter键,不需要给任何密码。
3. 使用ssh-copy-id将公匙拷贝至远程主机
使用ssh-copy-id命令将公钥拷贝至远程主机
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.200.10
注:执行以上操作时会要求你输入远程主机帐户和密码,然后就会自动将公钥拷贝至远程目录。
4. 无需密码通过ssh来执行rsync
现在,你可以不需要密码通过ssh连接到远程主机
ssh 192.168.200.10
再次执行rsync,它将不再要求你输入密码
rsync -avz -e ssh /home/linuxprobe/ linuxprobe@192.168.200.10:/backup/linuxprobe/
以上就是良许教程网为各位朋友分享的Linux系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !