关于安装rac环境ssh对等性验证问题

来源:互联网 发布:js 遍历array 中对象 编辑:程序博客网 时间:2024/05/14 03:48

之前在网上看到有人提起说修改已对等认证过的oracle,grid密码,然后重新认证依然通过,得出结论 :双方存储以密钥的方式建立的信任关系,而不是以用户的密码,所以密码是可以随意修改。

在安装rac的时候由于双方需要互相拷贝文件,为了方便,所以需要做ssh对等性认证。

11gR2在安装Grid Infrastructure的时候,能够通过安装程序配置节点间的SSH用户等效性,之所以要在安装之前配置SSH用户等效性,是为了能够在安装前使用CVU工具来检查安装软件的要求是否满足。CVU检查需要由非root用户来执行,如果执行Clusterware和ASM的检查就用grid用户执行检查的命令,如果执行Database的检查就用oracle用户来执行检查的命令。
SSH可以使用两种加密算法:RSA和DSA。其中RSA是SSH 1.5中的加密算法,DSA是SSH 2.0的默认加密算法。所有SSH有关密匙的配置文件都放在$HOME/.ssh目录下,其中RSA的公匙存放在id_rsa.pub中,私匙存放在id_rsa中;DSA的公匙存放在id_dsa.pub中,私匙存放在id_dsa中。

如果将所有节点生成的公匙都存放在rhel1节点的$HOME/.ssh/ authorized_keys文件中,那么通过rhel1执行节点间的拷贝或执行shell脚本都不需要输入密码进行确认。原理是:每个节点用户都有属于自己的公匙和私匙,节点在发送数据到其他节点之前使用私匙进行加密,然后将数据发送到其他节点;使用私匙加密必然使用公匙解密,反之使用公匙加密,必然使用私匙解密。如果其他节点保存了发送节点的公匙,那么自然就可以在不输入密码的情况下解密。
用户等效性的创建只需要在软件安装的时候使用,Oracle安装过程中会利用SSH提供的scp工具拷贝安装文件到远程节点服务器,利用SSH提供的ssh工具执行相应的shell脚本,达到只在一个节点安装即可部署RAC的目的,所以,在安装之前只需要配置安装节点到所有节点的用户有效性即可。当然,为了方便也可以配置所有节点用户相互之间的等效性,这样登录到另外节点就不需要输入密码,这样是方便了,但是有安全问题。

一般在生产环境在安装完成grid之后会关闭ssh对等性。如果使用OEM来管理rac数据库,在安装OEM的时候需要开启ssh对等性。

启用ssh 对等性验证,需要 打开/etc/ssh/sshd_config配置文件,开启如下设置

#RSAAuthentication yesPubkeyAuthentication yesAuthorizedKeysFile     .ssh/authorized_keys启用publickey认证,同时必须保证PasswordAuthentication yes必须yes状态。

然后重启sshd服务即可。

jhdb01-> ls -l /home/oracle/.ssh/total 24-rw-r--r--. 1 oracle oinstall 1996 Jul  9  2015 authorized_keys -ssh默认读取秘钥文件-rw-------. 1 oracle oinstall  668 Jul  9  2015 id_dsa  -rw-r--r--. 1 oracle oinstall  603 Jul  9  2015 id_dsa.pub-rw-------. 1 oracle oinstall 1675 Jul  9  2015 id_rsa -rw-r--r--. 1 oracle oinstall  395 Jul  9  2015 id_rsa.pub-rw-r--r--. 1 oracle oinstall 3569 Sep 21 11:53 known_hosts 

这里配置ssh对等性有几个细节需要注意:
1、/etc/ssh/sshd_config 配置要正确,一般默认配置都可以。
2、.ssh/ 下面的文件权限要正确,千万不要图方便置为777,这样会验证不过去。
3、.ssh/ 下面有两个隐藏的目录 . ..,这两个目录权限也必须正确。
4、ssh对等性配置,.ssh/下面文件正确权限为700 、644或600。
5、如果对端不能认证,一般都是双方未能持有对方的公有密钥。
6、ssh对等性验证在grid安装的时候需要使用到。如果ssh对等性出现问题,对已正常运行的rac环境没影响。

原创粉丝点击