配置 RAC 节点以便可以使用 SSH 进行远程访问

--在每个节点上创建 SSH 目录并生成 SSH 密钥

1)以软件所有者身份(此例中为 grid 用户)登录。
[root@racnode1 ~]# su - grid                                  

2)要确保您是以 grid 登录的,并验证用户 ID 与预期的用户 ID(即您已为grid 用户分配的用户 ID)一致,输入 id 和 id grid 命令。确保 Oracle 用户组和用户与您当前使用的用户终端窗口进程的组和用户 ID 相同。例如:
[grid@racnode1 ~]$ id
uid=1100(grid) gid=1000(oinstall) groups=1000(oinstall),1200(asmadmin),1201(asmdba),1202(asmoper) 
[grid@racnode1 ~]$ id grid
uid=1100(grid) gid=1000(oinstall) groups=1000(oinstall),1200(asmadmin),1201(asmdba),1202(asmoper)                                  

3)如有必要,在 grid 用户的主目录下创建.ssh 目录并设置相应权限,以确保仅 oracle 用户具有读写权限:
mkdir ~/.ssh

chmod 700 ~/.ssh                                  

注:如果权限未设置为 700,SSH 配置将失败。

4)输入以下命令,为 SSH 协议生成 DSA 密钥对(公共密钥和私有密钥):出现提示时,接受默认的密钥文件位置和无口令短语设置(按 [Enter]):
[grid@racnode1 ~]$ /usr/bin/ssh-keygen -t dsa

Generating public/private dsa key pair.
Enter file in which to save the key (/home/grid/.ssh/id_dsa):[Enter]
Enter passphrase (empty for no passphrase):[Enter]
Enter same passphrase again:[Enter]
Your identification has been saved in /home/grid/.ssh/id_dsa.
Your public key has been saved in /home/grid/.ssh/id_dsa.pub.
The key fingerprint is: 7b:e9:e8:47:29:37:ea:10:10:c6:b6:7d:d2:73:e9:03 grid@racnode1                                  
注:Oracle Clusterware 11g 第 2 版及更高版本不支持使用口令短语的 SSH。Oracle 11g 第 2 版及更高版本必须使用无口令的 SSH。

此命令将 DSA 公共密钥写入 ~/.ssh/id_dsa.pub 文件,将私有密钥写入 ~/.ssh/id_dsa 文件。

绝不要将私钥分发给任何无权执行 Oracle 软件安装的用户。

对您想使其成为集群成员的所有其他使用 DSA 密钥的节点 (rac2) 重复第 1 步到第 4 步。

--
将所有密钥添加到一个公共 authorized_keys 文件
现在,每个 Oracle RAC 节点都包含用于 DSA 的公共和私有密钥,
您需要在其中一个节点上创建一个授权密钥文件 (authorized_keys)。
授权密钥文件只是一个包含每个用户(每个节点)的 DSA 公共密钥的文件。
在授权密钥文件包含了所有公共密钥后,将其分发至集群中的所有其他节点。

注:每个节点上 grid 用户的 ~/.ssh/authorized_keys 文件必须包含
您在所有集群节点上生成的所有 ~/.ssh/id_dsa.pub 文件中的内容。

在集群中的一个节点上完成以下步骤以生成授权密钥文件,然后分发该文件。
对于此文而言,我将使用集群中的主节点 rac1:

从 rac1(本地节点)中确定所有者的主目录 .ssh 中是否存在授权密钥文件 ~/.ssh/authorized_keys。
大多数情况下,该文件是不存在的,因为本文假设您正在进行新的安装。如果该文件不存在,那么现在进行创建:
touch ~/.ssh/authorized_keys
ls -l ~/.ssh

在本地节点 (rac1) 上,使用 SCP(安全复制)或 SFTP(安全 FTP)将 ~/.ssh/id_dsa.pub 公共密钥的内容
从集群中的两个 Oracle RAC 节点复制到刚才创建的授权密钥文件 (~/.ssh/authorized_keys) 中。
同样,从 rac1 进行该操作。系统将提示您为每个访问的 Oracle RAC 节点输入 grid OS 用户帐户口令。
以下示例是在 rac1 节点上运行的,假定集群有两个节点,分别是 rac1 和 rac2:

[grid@rac1 ~]$ ssh rac1 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

[grid@rac1 ~]$ ssh rac2 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

此时,rac1 上的授权密钥文件 (~/.ssh/authorized_keys) 中含有来自集群中各个节点的 DSA 公共密钥。
[grid@rac1 ~]$ ls -l ~/.ssh

使用 scp 命令将授权密钥文件复制到集群中的所有其余节点:
[grid@rac1:/home/grid]$ scp ~/.ssh/authorized_keys rac2:.ssh/authorized_keys
grid@rac2's password:
authorized_keys                                           100% 1198     1.2KB/s   00:00


通过登录到节点并运行以下命令,为集群中的两个 Oracle RAC 节点更改授权密钥文件的权限:
[grid@rac1 ~]$ chmod 600 ~/.ssh/authorized_keys 

--
在集群节点上启用 SSH 用户等效性

在您希望运行 OUI 的系统 (rac1) 上,以 grid 用户身份登录。
[root@rac1 ~]# su - grid                                  
如果 SSH 配置正确,您将能够从终端对话使用 ssh 和 scp 命令,而无需提供口令或口令短语。
[grid@rac1:/home/grid]$ ssh rac1 "date;hostname"
2012年 12月 31日 星期一 12:40:12 CST
rac1
[grid@rac1:/home/grid]$ ssh rac2 "date;hostname" 
2012年 12月 31日 星期一 12:40:16 CST
rac2
                               
在 Oracle RAC 集群中的其余节点 (racnode2) 上执行相同的操作,以确保这些节点同样可以访问所有其他节点而无需提供口令或口令短语,
并且这些节点添加到了 known_hosts 文件中:

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22661144/viewspace-1412900/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/22661144/viewspace-1412900/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值