共计 872 个字符,预计需要花费 3 分钟才能阅读完成。
本文由 LinuxProbe.Com 团队成员 烨子 整理发布,原文来自:Linux 就该这么学。
默认情况下,在执行 rsync 命令时通常需要我们输入密码。但有时我们并不希望如此,那么如何实现无密码执行 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/
正文完
星哥玩云-微信公众号