平台:
Oracle Server - Enterprise Edition - Version: 10.1.0.2 to 11.2.0.1.0 - Release: 10.1 to 11.2
Oracle Server - Enterprise Edition - Version: 10.1.0.2 to 11.2.0.1.0 [Release: 10.1 to 11.2]
目标:
这份文档将解释在安装运行rac的时候,如何配置SSH。在接下来的安装说明中,也是正确的,但有时这将无法正常工作,虽然出于这个原因目前尚不清楚。因此,经过一番调查,它似乎那些步骤之后会正常工作。
解决:
配置SSH,你需要到集群中的每个节点上执行以下步骤。
$ cd $HOME
$ mkdir .ssh
$ chmod 700 .ssh
$ cd .ssh
$ ssh-keygen -t rsa
现在接受的密钥文件的默认位置
输入并确认密码(你也可以按回车键两次)
$ cat *.pub >> authorized_keys.<nodeX> (nodeX could be the nodename to differentiate files later)
接着在集群中的其他节点上做同样的步骤
当在其他节点上完成所有这些步骤,开始复制
authorized_keys.<nodeX> to all the nodes into $HOME/.ssh/
例如,如果你有4个节点,你就要把authorized_keys名复制到4个.ssh里面
每个节点上,然后继续做以下的SSH配置
$ cd $HOME/.ssh
$ cat *.node* >> authorized_keys
$ chmod 600 authorized_keys
注:所有的公共密钥必须出现在所有的authorized_keys文件中,每个节点包括本地的公钥
为了检验刚才所做得是正确的,现在执行命令
$ ssh <hostnameX> date
So on example in a 4 node environment:
$ ssh node1 date
$ ssh node2 date
$ ssh node3 date
$ ssh node4 date
重复每个节点上的这4次,包括ssh回节点本身。 nodeX是节点的主机名。
第一次,你会被要求添加的节点称为“known_hosts'中的一个文件,这是正确的,并回答'yes'的问题。正确配置后,当你必须能够得到返回日期,你将不会被提示输入密码。
注:在配置rsa和dsa的时候提示不需要输入密码,它将会正常工作。如果需要输入密码,那么你需要做下面两点
$ exec /usr/bin/ssh-agent $SHELL
$ /usr/bin/ssh-add
这些声明会告知SSH代理,添加到密钥并给shell使用。因此,启动一个新的shell时,你需要重复的最后声明,以确保SSH是正常的工作
如果您正在使用的帐户的主目录的权限允许各个节点访问,ssh将允许访问并且不需要输入密码
当家目录$HOME权限是777或者775时,你也将看到权限被拒绝的错误