如何让rsync传输文件更简单更安全

2018-03-31 孟光 小规模系统运维与开发 小规模系统运维与开发

之前我写过一篇文章:如何搭建一个rsync服务器。很多时候,我们只是临时的在两个机器之前传输一些文件,这时如果还需要写配置文件,未免太麻烦了。其实rsync还支持更简单的方案:通过SSH来建立传输通道。这种方式不仅不需要搭建服务器,而且还利用了SSH的加密和认证,更加安全。

我们以两个服务器A和B为例:我们要将A服务器的一些文件,比如/usr/include传输到B服务器的/tmp目录。

首先要有一个帐号能够在A服务器通过SSH登录到B服务器,可以使用密码认证,也可以使用公钥认证。

然后就可以使用rsync传输文件了,示例(B服务器IP是172.18.100.12):

rsync -av  /usr/include 172.18.100.12:/tmp/

是不是很简单?简直太简单了! 

如果需要指定不同的用户名,也没问题:

rsync -av  /usr/include root@172.18.100.12:/tmp/

如果需要指定ssh端口,好办:

rsync -av -e "ssh -p 22"  /usr/include root@172.18.100.12:/tmp/

聪明的你,肯定可以领悟到,可以在 -e的参数中添加任意ssh的参数。

更多关于rsync的高级技能,可以参考rsync的man page。