Linux 下的 rsync 详细部署和免密码同步

最近在做同步的问题上用到了 rsync 一款强大的同步备份工具。然后遇到了一些问题:安装完后,同步需要密码,可我想不需要密码,因为我跑的是内部环境。然后去查了度娘,google,都是些什么乱七八糟的,无法解决我的问题。最后汇总思路后就解决了

rsync 安装

具体怎么安装不做累述。 安装完后linux 运行下 rsync 会有一大串的命令提示,那就安装成功了。

运行 rsync

rsync --daemon

以 daemon 的方式去运行(目前我是这样运行的)
ps -ef | grep rsync 命令可以看到运行状态

这里写图片描述

然后 去看下rsync的端口一般是默认的 873
netstat -ntlp

这里写图片描述

然后我们telnet 去检测下端口状态
命令 : telnet 192.168.0.1 873 (ip 请自行更换)
这里写图片描述

端口通过,后面的30.0或者是其他的什么31.0都不用管。

到了这一步才算开启,

不过其中可能需要运行下

/etc/init.d/xinetd start

以xinetd 来运行,两种方式都可以。

如果端口没有通过,请检查下防火墙。

service iptables stop
vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 873 -j ACCEPT
service iptables restart

上面的命令运行873端口通过防火墙

然后上面所有状态正常,下面的步骤开始设置免密码(上面已经可以开始正常同步,不过同步过程需要密码)

因为要通过 ssh 去连接,所以,我们需要一份公共的 ssh密钥

A 主机文件同步到 B 主机上,则我们B主机需要A主机的密钥。

ssh密钥

B:主机

ps 以下操作可以不需要
groupadd -g 1212 adm
useradd -m -s /bin/bash -g 1212 -u 1212 adm
mkdir /home/adm/.ssh
chown adm:adm /home/adm/.ssh
chown adm:adm /usr/test
上面的只是添加用户和给目录权限

A:主机

ssh-keygen
然后一路回车键
Your identification has been saved in /usr/id_dsa
Your public key has been saved in /usr/id_dsa.pub

A主机生成了两份密钥,第一个 id_dsa 是私钥 id_dsa.pub是公钥
我们把公钥拷贝到B主机的 用户目录的 .ssh 下,这里我是拷贝到的/root/.ssh/

注意:这边因为你后面要同步的时候会去对应目录的.ssh下找公钥,所以,公钥要放在你操作的用户上(目前是B主机的/root/.ssh/上)。

B主机目录结构
这里写图片描述

注意看下权限,这里的权限都是 600

具体怎么拷贝,看你喜欢,这个过程不用纠结

还没有结束 !!!!!!!!!!!!!!!!

然后我们进入B主机 /root/.ssh/ 进行一下操作

cat rsync_id_dsa.pub > authorized_keys

把公钥输出到 authorized_keys 上,这是我们需要key

注意下用户组,必须是和你相对应的

OK,到这里就可以正式结束了,然后就可以去同步了,不需要密码。

这里写图片描述
最后赋予 authorized_keys 文件 600 权限,否则可能权限会不足,导致需要输入密码。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值