签到成功

知道了

CNDBA社区CNDBA社区

Oracle 12cR2 RAC 修改 grid 和 oracle 用户密码 说明

2017-12-29 15:08 3302 0 原创 Oracle 18c
作者: Dave

1 Linux 公钥认证说明

在不同的Linux主机之间连接时,SSH支持两种认证方式:https://www.cndba.cn/dave/article/2531

  1. (1) 密码认证:每次ssh连接时都需要输入密码;
  2. (2) 公钥认证:创建一对密钥,把公钥放在需要访问的服务器上。只需在配置时输入一次密码,之后ssh连接就无需输入密码
ssh-keygen命令专门是用来生成密钥的。该命令有很多选项,这里列出了最基本的四个:
-t 用来指定密钥类型(dsa | ecdsa | ed25519 | rsa | rsa1);
-P 用来指定密语
-f 用来指定生成的密钥文件名
-C 用来添加注释

比如:ssh-keygen -t rsa -P 123456 -f dave -C 'the key of www.cndba.cn';就是新建了密语为123456文件名为dave的密钥。此命令会生成dave和dave.pub两个文件,前者为私钥文件,后者为公钥文件。

假设有两台主机为 A 和 B 。如果A主机想免密码登录到B主机上,则A主机上存放私钥,B 主机上存放公钥。
通过ssh-keygen 命令生成的两个文件为:公钥文件 ~/.ssh/id_rsa.pub; 私钥文件 ~/.ssh/id_rsa 。而B主机上存放公钥时,需要将id_rsa.pub的内容存放到~/.ssh/authorized_keys 文件内,并且保证权限为600 。

操作步骤如下:

1.    A主机上生成key
$ ssh-keygen -t rsa
$ ls
id_rsa  id_rsa.pub
然后将key导入到远程的B主机上,并修改权限

2.    A主机上操作
$ cat /root/.ssh/id_rsa.pub | ssh root@远程服务器ip 'cat - >> ~/.ssh/authorized_keys'

3.    B主机上操作
$ chmod 600 ~/.ssh/authorized_keys

这里也可以直接使用ssh-copy-id命令将公钥内容导入到远程主机上,而不需要在B主机上再修改权限: $ ssh-copy-id  -i /root/.ssh/id_rsa root@xxx,xxx,xxx,xxx

当然也可以直接使用sshUserSetup.sh来配置,参考:

Linux SSH 互信配置脚本 sshUserSetup.sh
http://www.cndba.cn/dave/article/2530

https://www.cndba.cn/dave/article/2531

使用Oracle的sshUserSetup.sh脚本配置SSH互信
http://www.cndba.cn/Expect-le/article/1766

Linux 系统之间是以密钥的方式建立的信任关系,而不是以用户的密码,所以在互信配置之后,密码是可以随意修改,且不影响互信的使用。
也就是说Linux密码认证和密钥认证在配置完ssh 互信之后就没有必然联系了,除非我们需要重新生成密钥的公钥,并上传远程Server,那时就需要输入远程的Server的密码,这个本身就是互信的配置过程。https://www.cndba.cn/dave/article/2531

https://www.cndba.cn/dave/article/2531

在RAC 安装的时候,要求我们配置节点之间的用户等效性。 实际上主要用途是安装时的文件复制和同步执行安装。配置之后,只要我们采取不重建密钥文件的方式直接修改GRID用户和ORACLE用户的密码,对互信是没有影响的,那么两边的密码不相同。

下面来验证这个过程。https://www.cndba.cn/dave/article/2531https://www.cndba.cn/dave/article/2531

2 测试环境

[grid@www.cndba.cn/dave trace]$ crsctl query crs activeversion
Oracle Clusterware active version on the cluster is [12.2.0.1.0]

[grid@www.cndba.cn/dave ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr
               ONLINE  ONLINE       rac1                     STABLE
               ONLINE  ONLINE       rac2                     STABLE
ora.DATA.dg
               ONLINE  ONLINE       rac1                     STABLE
               ONLINE  ONLINE       rac2                     STABLE
ora.FAST_RECOVERY.dg
               ONLINE  ONLINE       rac1                     STABLE
               ONLINE  ONLINE       rac2                     STABLE
ora.LISTENER.lsnr
               ONLINE  ONLINE       rac1                     STABLE
               ONLINE  ONLINE       rac2                     STABLE
ora.OCR_VOTE.dg
               ONLINE  ONLINE       rac1                     STABLE
               ONLINE  ONLINE       rac2                     STABLE
ora.net1.network
               ONLINE  ONLINE       rac1                     STABLE
               ONLINE  ONLINE       rac2                     STABLE
ora.ons
               ONLINE  ONLINE       rac1                     STABLE
               ONLINE  ONLINE       rac2                     STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       rac2                     STABLE
ora.MGMTLSNR
      1        OFFLINE OFFLINE                               STABLE
ora.asm
      1        ONLINE  ONLINE       rac1                     Started,STABLE
      2        ONLINE  ONLINE       rac2                     Started,STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.cvu
      1        ONLINE  ONLINE       rac2                     STABLE
ora.orcl.db
      1        ONLINE  INTERMEDIATE rac1                     Instance Starting,ST
                                                             ABLE
      2        ONLINE  INTERMEDIATE rac2                     Stuck Archiver,HOME=
                                                             /u01/oracle/12.2.0/d
                                                             b_1,STABLE
ora.qosmserver
      1        ONLINE  ONLINE       rac2                     STABLE
ora.rac1.vip
      1        ONLINE  ONLINE       rac1                     STABLE
ora.rac2.vip
      1        ONLINE  ONLINE       rac2                     STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       rac2                     STABLE
--------------------------------------------------------------------------------
[grid@www.cndba.cn/dave ~]$

3 修改 GRI D和 Oracle 用户的密码并验证互信

—修改之前:

[grid@www.cndba.cn/dave ~]$ ssh rac1 date
Fri Dec 29 14:43:18 CST 2017
[grid@www.cndba.cn/dave ~]$ ssh rac2 date
Fri Dec 29 14:43:22 CST 2017
[grid@www.cndba.cn/dave ~]$

—修改rac1的grid用户密码:

[grid@www.cndba.cn/dave ~]$ passwd grid
passwd: Only root can specify a user name.
[grid@www.cndba.cn/dave ~]$
[root@www.cndba.cn/dave ~]# passwd grid
Changing password for user grid.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@www.cndba.cn/dave ~]#

—分别在rac1和rac2上验证互信:https://www.cndba.cn/dave/article/2531

[grid@www.cndba.cn/dave ~]$ ssh rac1 date
Fri Dec 29 14:44:20 CST 2017
[grid@www.cndba.cn/dave ~]$ ssh rac2 date
Fri Dec 29 14:44:23 CST 2017
[grid@www.cndba.cn/dave ~]$

[grid@www.cndba.cn/dave ~]$ ssh rac1 date
Fri Dec 29 14:44:30 CST 2017
[grid@www.cndba.cn/dave ~]$ ssh rac2 date
Fri Dec 29 14:44:35 CST 2017

现在rac1和rac2 2台主机的grid用户密码是不一样的。但这并不影响互信的使用。

—修改rac2 grid用户的密码,并且与之前rac1的密码不同:https://www.cndba.cn/dave/article/2531https://www.cndba.cn/dave/article/2531

[root@www.cndba.cn/dave ~]# passwd grid
Changing password for user grid.
New password: 
BAD PASSWORD: The password is shorter than 7 characters
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@www.cndba.cn/dave ~]#

—验证互信:

[grid@www.cndba.cn/dave ~]$ ssh rac1 date
Fri Dec 29 14:54:25 CST 2017
[grid@www.cndba.cn/dave ~]$ ssh rac2 date
Fri Dec 29 14:54:28 CST 2017
[grid@www.cndba.cn/dave ~]$

同理,修改Oracle用户,结果也是一样。

4 小结

SSH互信在服务器上保存的是密钥,而非密码。虽然等价用户的密码发生了修改,但是密钥本身没有变化,因此SSH的互信配置不受影响。经过互信配置的服务器端和客户端连接并不需要密码,只是密钥的匹配过程。只要我们不重建密钥文件,修改密码对互信就没有影响,即使在2边的密码不一样。 https://www.cndba.cn/dave/article/2531

版权声明:本文为博主原创文章,未经博主允许不得转载。

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
Dave

Dave

关注

人的一生应该是这样度过的:当他回首往事的时候,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞耻;这样,在临死的时候,他就能够说:“我的整个生命和全部精力,都已经献给世界上最壮丽的事业....."

  • 1902
    原创
  • 2
    翻译
  • 456
    转载
  • 131
    评论
  • 访问:3642212次
  • 积分:3137
  • 等级:核心会员
  • 排名:第1名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by ZhiXinTech · 皖ICP备19020168号·

        QQ交流群