linux免密码登录rsync,无需密码通过ssh执行rsync来同步文件的方法

rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步(只传输变化过的数据),这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。 rsync是一个功能非常强大的工具,其命令也有很多功能特色选项。

1.rsync基本命令

rsync支持本地复制或与其它主机同步,命令语法如下

#本地同步命令格式:

rsync [ 选项 ] 源目录 目标目录

#从远程同步到本地:

rsync [选项] 用户名@主机IP:源目录 本地目录

#从本地同步到远程:

rsync [选项] 本地目录 用户名@主机IP:目标目录

#常用选项: -a 归档模式, -v 显示同步信息, -z 传输过程中启用压缩

#注意远程端应开启sshd服务,且用户对远程目录必须有相应的访问权限

例如执行以下操作时,服务器将会提示需要用户使用密码登录。

rsync -avz -e ssh /home/ramesh/ ramesh@192.168.200.10:/backup/ramesh/

2.生成密匙

通过设置ssh以便在执行rsync操作时不需要手动输入密码,首先要使用ssh-keygen在本地生成公钥和私钥。

ssh-keygen

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

#当提示输入密码时,只需敲两次回车键,不输入其他字符

3.将公匙拷贝至远程主机

接下来,执行ssh-copy-id将通过上面生成的公匙拷贝至远程主机。

ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.200.10

#按照提示输入远程主机帐户和密码,然后公匙自动拷贝至远程主机。

4.无需密码执行rsync

现在,你可以不需要密码就可以ssh连接到远程主机。重新来执行之前rsync,现在应该就不会提示输入密码了。

rsync -avz -e ssh /home/ramesh/ ramesh@192.168.200.10:/backup/ramesh/

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值