一、前言
在搭建服务器系统时,通常我们需要进行服务器之间的通信,才能够实现相关的操作,例如共享数据卷的挂载,数据的同步,资源的相互依赖,网络链路的同步、远程服务的连接等等。
这个时候就需要使得机器之间能够互相通信,即能够互访。
今天就来总结下主机之间的同步策略
二、实现步骤
1、我这里是采用两台机器作为实践
host1:server1
host2:server2
2、分别在两台机器上执行如下命令生成对应的公钥和私钥
ssh-keygen
执行后 即可在 .~/ssh/文件夹下,生成 id_rsa,和id_rsa.pub
如下所示:
3、然后在第一台机器中,生成authorized_keys文件
cd ~/.ssh/
cat ./id_rsa.pub >> ./authorized_keys
4、然后将另一台id_rsa.pub内容,手动copy到第一台的authorized_keys文件
more id_rsa.pub
注:拷贝至第一台机器中的`authorized_keys`文件(注意copy时,最好先放到记事本中,将回车去掉,成为一行)
5、然后给每台机器设置权限
chmod 700 -R ~/.ssh
chmod 600 ~/.ssh/authorized_keys
6、然后将第一台机器的authorized_keys 通过scp命令 传输给第二台机器server2
scp authorized_keys root@server2:/root/.ssh
7、配置两台机器对应的 /etc/hosts
将两台机器的IP和机器名都写入
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1xx.xxx server1
192.168.xxx.xxx server2
8、然后验证
ssh root@server1 date
ssh root@server2 date
注:但是这样会出现,如果server2去访问server1的话,会出现要输入密码
想要取消输出密码,则将server1中的authorized_keys,copy到server2中即可。
另外我们要注意,.ssh目录的权限为700,其下文件authorized_keys和私钥的权限为600。否则会因为权限问题导致无法免密码登录。
测试下: