Rsync+ssh安全通道进行同步目录1应用说明←1.1加密传输←1.2同步方向2环境说明←2.1硬件环境←2.2网络环境←2.3系统环境3软件简介←3.1SSH的简介←3.2RSYNC的简介4软件安装←4.1SSH的安装←4.2RSYNC的安装←4.2.1ports方式安装←4.2.2手工安装←4.3ssh的配置←4.3.1创建帐户←4.3.2生成公钥和私钥←4.3.3拷贝到客户端←4.3.4测试登录5Rsync的配置←5.1Rsync的常用参数←5.2控制脚本6运行7结束语8附录←8.11RSYNC参数详解←8.22中文编码问题应用说明正如很多人知道的那样,Rsync可是开源同步软件中的老大哥。很多人(当然也包括我自己)都在使用它来进行同步、备份工作。它的功能强大,应用灵活,就不多说了。如果对Rsync前世今生很感兴趣,那么一会看看简介,然后到他们官方网站好好看看。虽然Rsync很强大,但是它并没有直接支持加密传输。也就是说,它是直接明文传输的,对于一些安全要求高的数据,那就不太保险了。不信?你可以用抓包工具试试看。如果要传输保密文件,那怎么办?放心,Rsync提供了ssh通道功能。也就是通过ssh安全通道来传输,传输过程中,数据是经过ssh加密的。不信?你还是可以抓包看看。这就是我们要进行的工作了,配置一个具有ssh安全通道的,安全级别高的同步体系。加密传输我们利用SSH来达到安全通道的目的。SSH的RSA和DSA认证协议的基础是一对专门生成的密钥,分别叫做专用密钥和公用密钥(简称私钥和公钥,下面我们都使用简称)。使用这些基于密钥的认证系统的优势在于:在许多情况下,有可能不必手工输入密码就能建立起安全的连接。尽管基于密钥的认证协议相当安全,但是如果不注意保护,把私钥泄露了,那么别人也就可以登录到有公钥的服务器。那就很不安全了。因此居于安全考虑,我们进行的同步配置,是居于普通用户来进行备份的。同步方向在这里采用的,不是常见的C/S模式,即源服务器运行rsync--daemon模式,备份服务器主动同步。而是采用SSH通道模式,不需要配置rsync--daemon。从源服务器直接同步到备份服务器。环境说明我配置的是A、B两台主机,A主机做为源服务器,B主机作为客户端。硬件环境两台服务器的配置一样,硬件配置如下:单志强2.4GCPU2G内存36GSCSI硬盘1Ginter网卡网络环境两台服务器在同一个机房,但是不同网段。IP地址分别设置如下:A服务器的IP地址:192.168.8.8B服务器的IP地址:192.168.11.11系统环境操作系统:A、B两台服务器均安装了FreeBSD6.2-RELEASE-p2(通过makeworld升级到最新)。SSH是系统自带的版本:#ssh-VOpenSSH_4.5p1FreeBSD-20061110,OpenSSL0.9.7e-p125Oct2004软件简介由于我们是在unix/linux下使用SSH和RSYNC,因此仅仅介绍SSH和RSYNC,而不介绍系统以及其他软件。SSH的简介SSH是英文SecureShell的简写形式。通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗。使用SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet,又可以为FTP、Pop、甚至为PPP提供一个安全的"通道"。最初的SSH是由芬兰的一家公司开发的。但是因为受版权和加密算法的限制,现在很多人都转而使用OpenSSH。OpenSSH是SSH的替代软件包,而且是免费的,可以预计将来会有越来越多的人使用它而不是SSH。目前所发行的开源UNIX/Linux,默认都会带有OpenSSH(一些可能需要你额外的安装一下)。如果你喜欢的话,也可以安装SSH,他虽然有限制,但是对于非商业用户,是可以免费使用的。相关链接如下:http://openssh.orghttp://ssh.com/products/ssh_secure_shell/RSYNC的简介在RSYNC的官方网站上,对于RSYNC的介绍非常简单。rsync是一个开放源码的快速的文件同步工具,是在GUN的GPL2协议下发布的。所以任何人都可以免费的使用设置修改和再发行它。rsync的作者是WayneDavison。相关链接如下:http://rsync.samba.org/软件安装SSH的安装由于系统会自带有SSH,我们就直接使用系统自带的SSH,而不再单独安装。我会另外写一个SSH安装配置的专题文章。RSYNC的安装我是在FreeBSD上进行的安装配置,因此同时给出利用FreeBSD的p...