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-******
然后一路回车键
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,到这里就可以正式结束了,然后就可以去同步了,不需要密码。