无密码通过ssh执行rsync
无密码通过ssh执行rsync
linuxprobe16 发表于1年前
无密码通过ssh执行rsync
  • 发表于 1年前
  • 阅读 16
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: 默认情况下,在执行rsync命令时通常需要我们输入密码。但有时我们并不希望如此,那么如何实现无密码执行rsync呢?

默认情况下,在执行rsync命令时通常需要我们输入密码。但有时我们并不希望如此,那么如何实现无密码执行rsync呢?
无密码通过ssh执行rsync无密码通过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技术教程书籍,为开源技术爱好者努力做得更多更好:http://www.linuxprobe.com/

共有 人打赏支持
粉丝 5
博文 414
码字总数 67699
×
linuxprobe16
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: