zoukankan      html  css  js  c++  java
  • rsync指定ssh端口进行文件同步的方法

    有台服务器因为安全性需要,修改了默认的ssh端口为34778端口。
    因此rsync使用ssh同步的时候需要指定ssh的端口

    rsync提供了一个-e参数

    -e参数的作用是可以使用户自由选择想使用的shell程序来连接远端服务器,因此也可以设置成使用默认的ssh来连接,这样我们就可以加入ssh的参数了

    具体语句写法如下:

    rsync -e 'ssh -p 34778' username@hostname:SourceFile DestFile

    单引号,目的是为了使引号内的参数为引号内的命令所用

    实例:

    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
    编辑:

    /etc/rsyncd.conf
    设置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 873 x.x.x.x/24
    找到开放端口后,查看时候可默认口令登陆。使用命令查看:

    rsync -av x.x.x.x::

    既然是同步文件,自然有选择查看、上传或者下载的能力,这要视权限设定。

    运气好的情况下秒杀站点。

    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
    除此之外rsyncd.conf中的hosts allow也可以设置只允许来源ip。

    hosts allow = X.X.X.X #允许访问的IP
    添加用户口令

    添加rsync用户权限访问,注意配置的是rsyncd.conf中的:

    secrets file = /etc/rsyncd.secrets #密码文件位置,认证文件设置,设置用户名和密码

    auth users = rsync #授权帐号,认证的用户名,如果没有这行则表明是匿名,多个用户用,分隔。

  • 相关阅读:
    myBatis学习笔记(10)——使用拦截器实现分页查询
    电影院的设计与实现(改进更新)
    软件设计师自我修炼1:怎样让用户对软件产生依赖
    jQuery.ajax()方法中參数具体解析
    王立平--Gallery:实现图片的左右滑动
    USB设备驱动概述
    Android中的多线程编程(一)附源代码
    Shannon-Fano-Elias编码的C语言实现
    互联网协议入门深入
    linux内核中创建线程方法【转】
  • 原文地址:https://www.cnblogs.com/xzlive/p/15762419.html
Copyright © 2011-2022 走看看