SSH互信配置过程

无意间看到这篇文章,觉得日后可能会用得上,因此收藏起来,同时也希望能对小伙伴有所帮助

背景:前两天一套oracle RAC集群出问题,需要重新建库,dbca建库过程提示无法创建数据库,经排查原因为ssh互信配置失效,需重新配置。

配置过程如下:

1.在两台机器上生成认证文件,这里有个细节,就是ssh互信的认证文件,需要放在用户的home目录下的.ssh目录中,因此我们要首先建立这个目录,并且保证这个目录的权限是755

一节点操作:

[oracle@mysql01 ~]$ mkdir .ssh
[oracle@mysql01 ~]$ chmod 755 .ssh
[oracle@mysql01 ~]$ /usr/bin/ssh-keygen -t rsa
[oracle@mysql01 ~]$ /usr/bin/ssh-keygen -t dsa1234

二节点做同样的操作:

[oracle@mysql02 ~]$ mkdir .ssh
[oracle@mysql02 ~]$ chmod 755 .ssh
[oracle@mysql02 ~]$ /usr/bin/ssh-keygen -t rsa
[oracle@mysql02 ~]$ /usr/bin/ssh-keygen -t dsa1234

2.将所有的key文件汇总到一个总的认证文件中:

[oracle@mysql01 ~]$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
[oracle@mysql01 ~]$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
[oracle@mysql01 ~]$ ssh oracle@mysql02 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
[oracle@mysql01 ~]$ ssh oracle@mysql02 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys1234

3.经过1,2两步,目前mysql01上存在一份完整的认证key文件,这时候,把它拷到mysql02主机的对应目录下:

[oracle@mysql01 ~]$ scp ~/.ssh/authorized_keys mysql02:~/.ssh/1

配置完成!

========================================================

上面的操作太复杂,而且按照上面的方法配置三个及以上的服务器互信之后,实际上是有问题的。 
既简单又有效的配置方法如下:

例如在四台服务器server1,server2,server3,server4上为hadoop用户配置互信。

第一步:登录hadoop用户,执行如下命令生成公钥:

[hadoop@server1 ~]$ ssh-keygen -t rsa   #下面一直按回车就好1

第二步:用ssh-copy-id 把公钥复制到各个主机上(包括自己):

[hadoop@server1 ~]$ ssh-copy-id -i  .ssh/id_rsa.pub hadoop@server1
[hadoop@server1 ~]$ ssh-copy-id -i  .ssh/id_rsa.pub hadoop@server2
[hadoop@server1 ~]$ ssh-copy-id -i  .ssh/id_rsa.pub hadoop@server3
[hadoop@server1 ~]$ ssh-copy-id -i  .ssh/id_rsa.pub hadoop@server41234

第三步:在其他server上执行上面两步的命令。

至此,ssh互信配置完成。
 

猜你喜欢

转载自blog.csdn.net/myli_binbin/article/details/85008399