rsync指定ssh端⼝进⾏⽂件同步的⽅法
有台服务器因为安全性需要,修改了默认的ssh端⼝为34778端⼝。
因此rsync使⽤ssh同步的时候需要指定ssh的端⼝
rsync提供了⼀个-e参数
-e参数的作⽤是可以使⽤户⾃由选择想使⽤的shell程序来连接远端服务器,因此也可以设置成使⽤默认的ssh来连接,这样我们就可以加⼊ssh的参数了
具体语句写法如下:
rsync -e 'ssh -p 34778' username@hostname:SourceFile DestFile
ssh命令指定端口
单引号,⽬的是为了使引号内的参数为引号内的命令所⽤
实例:
rsync -auz -e 'ssh -p 43378' /data/svn/ root@192.168.1.254:/data/backup
详解:
通过rsync,并使⽤auz参数,结合-e修改ssh的端⼝,将本地的/data/svn作为源数据,⽤root⽤户推到远端服务器192.168.1.254
的/data/backup⽬录下。
需要注意的是源⽬录和⽬标⽬录是否带"/"结尾是有很⼤区别的
源⽬录带"/"结尾⽽⽬标⽬录不带,表⽰将源⽬录⾥⾯的所有⽂件(/data/svn/*)都同步到⽬标⽬录下(/data/backup/*)。
源⽬录带"/"结尾⽽⽬标⽬录也带“/”结尾,则表⽰将源⽬录作为⽂件夹,同步到⽬标⽬录下(/data/backup/svn/*)。
端⼝攻击之873端⼝rsync默认⼝令漏洞
1、简介:
rsync是Unix下的⼀款应⽤软件,它能同步更新两处计算机的⽂件与⽬录,并适当利⽤差分编码以减少数据传输。
2、Rsync使⽤教程:
⽤途:
当成镜像备份功能。
优点:
速度快,可对⽐本地⽂件,差异备份。
⽤法:
1、将/etc/内复制到/tmp/etc
rsync –av /etc /tmp
2、将rsh.server的/etc 复制到本地 /tmp
rsync –av –e ssh user@rsh.server:/etc /tmp
3、通过rsync提供的服务(daemon),rsync使⽤873端⼝
Server:启动rsync,看:
/
etc/xinetd.d/rsync
编辑:
/f
设置client端连接账号密码
Client:rsync –av –user@hostname::/dir/path /local/path
三种模式差异在⼏个分号 :
命令:
Rsync [-avrlptgoD] [-e ssh] [user@hostIP:/dir] [/local/path]
-v 观察模式,输出更多资讯
-q 与 –v 相反,仅显⽰错误信息
-r 递归复制,针对⽬录
-
u 仅更新较新的⽂件
-l 复制连接的属性
-p 复制时保持属性不变
-g 保存原有组
-o 保存原有拥有⼈
-D 保存原有装置属性
-t 保存原有时间属性
-I 忽略更新时间属性,档案⽐对较快
-z 加上压缩参数
-e 使⽤协议通道,例如ssh,-e ssh
-a 相对于-rlptgoD,所以-a最常⽤
3、安全问题:
rsync默认的端⼝是873,可以使⽤nmap扫描IP是否开放该端⼝。
nmap -n --open -p /24
到开放端⼝后,查看时候可默认⼝令登陆。使⽤命令查看:
rsync -::
既然是同步⽂件,⾃然有选择查看、上传或者下载的能⼒,这要视权限设定。
运⽓好的情况下秒杀站点。
4、安全配置注意事项
注意两种⽅式防御,⼀是限定访问的IP,另⼀个是不允许匿名访问,添加⽤户⼝令。
限定IP的两种⽅式
IPTables防⽕墙
给rsync的端⼝添加⼀个iptables。
只希望能够从内部⽹络(192.168.101.0/24)访问:
iptables -A INPUT -i eth0 -p tcp -s 192.168.101.0/24 --dport 873 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp --sport 873 -m state --state ESTABLISHED -j ACCEPT
除此之外f中的hosts allow也可以设置只允许来源ip。
hosts allow = X.X.X.X #允许访问的IP
添加⽤户⼝令
添加rsync⽤户权限访问,注意配置的是f中的:
secrets file = /etc/rsyncd.secrets #密码⽂件位置,认证⽂件设置,设置⽤户名和密码
auth users = rsync #授权帐号,认证的⽤户名,如果没有这⾏则表明是匿名,多个⽤户⽤,分隔。