ORACLE RAC環境構築時のSSH設定

ORACLE RAC環境構築時のSSH設定

クラスタ・ノードに、sshパスワードログイン無しの設定し、SSHユーザー等価関係の有効化をする必要がある。

  1. クラスタ・ノードのsshd_configの設定
  2. クラスタ・ノードの公開鍵と秘密鍵の作成
  3. クラスタ・ノードの公開鍵を含んだauthorized_keysの作成
  4. SSHユーザー等価関係の有効化の確認

クラスタ・ノードのsshd_configの設定

  • RSA公開鍵認証の有効化を行うため、sshd_configを編集する。

vi /etc/ssh/sshd_config

〜 省略 〜
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeyFile .ssh/authorized_key
〜 省略 〜

  • サーバ再起動

/etc/rc.d/init.d/sshd restart

クラスタ・ノードの公開鍵と秘密鍵の作成

mkdir /home/grid/.ssh
chmod 700 /home/grid/.ssh

  • クラスタ・ノードごとに、公開鍵と秘密鍵を作成する。(以下のコマンド後にEnter3回打つ)

/usr/bin/ssh-keygen -t rsa
※コマンド実行後、公開鍵「~/.ssh/id_rsa.pub」、秘密鍵「~/.ssh/id_rsa」が作成されていることを確認。


クラスタ・ノードの公開鍵を含んだauthorized_keysの作成

ここでは、node1とnode2がクラスタ・ノードとする。

  • node1でauthorized_keysを作成

[grid@node1 ~]$cat id_rsa.pub >> authorized_keys

  • node1で作成したauthorized_keysをnode2にSCPで送る。(鍵を受け入れるように求められる場合、Yesと入力する。コピー先のノードがknown_hostsファイルに追加される。)

[grid@node1 ~]scp authorized_keys node2:/home/grid/.ssh/

  • SCPで送られてきたauthorized_keysにnode2の公開鍵を追加(node1とnode2を鍵情報を含んだauthorized_keysが作成されます。)

[grid@node2 ~]cat id_rsa.pub >> authorized_keys
※ノードが3個以上ある場合は、上記手順で authorized_keysに各クラスタノードの情報を追加していく。

  • クラスタ・ノードの公開鍵の情報を含んだauthorized_keysを全てのノードにコピーし、権限を600に設定する。

chmod 600 /home/grid/authorized_keys

SSHユーザー等価関係の有効化の確認

クラスタ・ノードから全てのノードに対して、以下のコマンドを打ち、パスワードが聞かれないことを確認。(known_hostsに追加されていない場合、鍵を受け入れるように求められるので、Yesと入力する。)
[grid@node1 ~]$ ssh node2 date
Mon Feb 27 23:34:42 UTC 2013
[grid@node1 ~]$ ssh node1 date
Mon Feb 27 23:34:48 UTC 2013

設定がうまくいかない場合

  1. .sshディレクトリの権限が700になっているか
  2. authorized_keysの権限が600になっているか
  3. authorized_keysに各クラスタ・ノードの公開鍵が追加されているか
  4. sshd_configの設定があっているか
  5. known_hostsに、各クラスタ・ノードが全て追加されているか