AIX 5.3安裝Oracle 11g R2 SSH 互信問題

來源:互聯網
上載者:User

在叢集節點上配置無口令的 SSH
要配置無口令的 SSH,必須先在每個叢集節點上產生 RSA 或 DSA 密鑰,然後將所有叢集節點成員上產生的所有密鑰複製到授權識別碼檔案 中,該檔案在每個節點上都是相同的。注意,SSH 檔案必須只能由 root 使用者、軟體安裝使用者(grid、Oracle)讀取,因為如果其他使用者可以訪問一個私密金鑰檔案,則 SSH 會忽略該檔案。以下樣本中使用 DSA 密鑰。
對於安裝時要使用的 Oracle 軟體安裝所有者(grid、oracle),您必須為每個所有者分別配置無口令的 SSH。
要配置無口令的 SSH,完成以下任務:
在每個節點上建立 SSH 目錄並產生 SSH 金鑰
在每個節點上完成以下步驟:
以軟體所有者身份(此例中為 grid 使用者)登入。
[root@bkjia1 ~]# su - grid
要確保您是以 grid 登入的,並驗證使用者識別碼 與預期的使用者識別碼(即您已為 grid 使用者指派的使用者識別碼)一致,輸入 id 和 id grid 命令。確保 Oracle 使用者組和使用者與您當前使用的使用者終端視窗進程的組和使用者識別碼 相同。例如:

如有必要,在 grid 使用者的主目錄下建立 .ssh 目錄並設定相應許可權,以確保僅 oracle 使用者具有讀寫權限:
[grid@bkjia1 ~]$ mkdir ~/.ssh
[grid@bkjia1 ~]$ chmod 700 ~/.ssh
輸入以下命令,為 SSH 協議產生 DSA 金鑰組(公用密鑰和私人密鑰):出現提示時,接受預設的密鑰檔案位置和無口令短語設定(按 [Enter]):
[grid@bkjia1 ~]$ /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:03grid@bkjia1
註:Oracle Clusterware 11g 第 2 版及更高版本不支援使用口令短語的 SSH。Oracle 11g 第 2 版及更高版本必須使用無口令的 SSH。

此命令將 DSA 公用密鑰寫入 ~/.ssh/id_dsa.pub 檔案,將私人密鑰寫入 ~/.ssh/id_dsa 檔案。

絕不要將私密金鑰分發給任何無權執行 Oracle 軟體安裝的使用者。


對您想使其成為叢集成員的所有其他使用 DSA 密鑰的節點 (bkjia2) 重複第 1 步到第 4 步。

將所有密鑰添加到一個公用 authorized_keys 檔案

現在,每個 Oracle RAC 節點都包含用於 DSA 的公用和私人密鑰,您www.bkjia.com需要在其中一個節點上建立一個授權識別碼檔案 (authorized_keys)。授權識別碼檔案只是一個包含每個使用者(每個節點)的 DSA 公用密鑰的檔案。在授權識別碼檔案包含了所有公用密鑰後,將其分發至叢集中的所有其他節點。

註:每個節點上 grid 使用者的 ~/.ssh/authorized_keys 檔案必須包含您在所有叢集節點上產生的所有 ~/.ssh/id_dsa.pub 檔案中的內容。

在叢集中的一個節點上完成以下步驟以產生授權識別碼檔案,然後分發該檔案。對於此文而言,我將使用叢集中的主節點 bkjia1:

從 bkjia1(本地節點)中確定所有者的主目錄 .ssh 中是否存在授權識別碼檔案 ~/.ssh/authorized_keys。大多數情況下,該檔案是不存在的,因為本文假設您進行中新的安裝。如果該檔案不存在,那麼現在進行建立:
[grid@bkjia1 ~]$ touch ~/.ssh/authorized_keys
[grid@bkjia1 ~]$ ls -l ~/.ssh
total 8
-rw-r--r-- 1 grid oinstall   0 Nov 12 12:34 authorized_keys
-rw------- 1 grid oinstall 668 Nov 12 09:24 id_dsa
-rw-r--r-- 1 grid oinstall 603 Nov 12 09:24 id_dsa.pub
在 .ssh 目錄中,您會看到前面產生的 id_dsa.pub 密鑰以及空白檔案 authorized_keys。

在本地節點 (bkjia1) 上,使用 SCP(安全複製)或 SFTP(安全 FTP)將 ~/.ssh/id_dsa.pub 公用密鑰的內容從叢集中的兩個 Oracle RAC 節點複製到剛才建立的授權識別碼檔案 (~/.ssh/authorized_keys) 中。同樣,從 bkjia1 進行該操作。系統將提示您為每個訪問的 Oracle RAC 節點輸入 grid OS 使用者帳戶口令。
以下樣本是在 bkjia1 節點上啟動並執行,假定叢集有兩個節點,分別是 bkjia1 和 bkjia2:

[grid@bkjia1 ~]$ ssh bkjia1 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
The authenticity of host 'bkjia1 (192.168.1.151)' can't be established.
RSA key fingerprint is 2f:0d:2c:da:9f:d4:3d:2e:ea:e9:98:20:2c:b9:e8:f5.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'bkjia1,192.168.1.151' (RSA) to the list of known hosts.
grid@bkjia1'spassword: xxxxx

[grid@bkjia1 ~]$ ssh bkjia2 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
The authenticity of host 'bkjia2 (192.168.1.152)' can't be established.
RSA key fingerprint is 97:ab:db:26:f6:01:20:cc:e0:63:d0:d1:73:7e:c2:0a.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'bkjia2,192.168.1.152' (RSA) to the list of known hosts.
grid@bkjia2'spassword: xxxxx
第一次使用 SSH 從某個特定系統串連到節點時,您會看到類似以下的訊息:

The authenticity of host 'bkjia1 (192.168.1.151)' can't be established.
RSA key fingerprint is 2f:0d:2c:da:9f:d4:3d:2e:ea:e9:98:20:2c:b9:e8:f5.
Are you sure you want to continue connecting (yes/no)? yes
在該提示下輸入 yes 繼續。於是,會將公用主機名稱添加到 ~/.ssh 目錄下的 known_hosts 檔案中,以後再從此系統串連到相同節點時就不會看到此訊息了。

此時,bkjia1 上的授權識別碼檔案 (~/.ssh/authorized_keys) 中含有來自叢集中各個節點的 DSA 公用密鑰。
[grid@bkjia1 ~]$ ls -l ~/.ssh
total 16
-rw-r--r-- 1 grid oinstall 1206 Nov 12 12:45 authorized_keys
-rw------- 1 grid oinstall  668 Nov 12 09:24 id_dsa
-rw-r--r-- 1 grid oinstall  603 Nov 12 09:24 id_dsa.pub
-rw-r--r-- 1 grid oinstall  808 Nov 12 12:45 known_hosts
我們現在將其複製到叢集中的其餘節點。在我們的雙節點叢集樣本中,www.bkjia.com唯一剩下的節點就是 bkjia2。使用 scp 命令將授權識別碼檔案複製到叢集中的所有其餘節點:

[grid@bkjia1 ~]$ scp ~/.ssh/authorized_keys bkjia2:.ssh/authorized_keys
grid@bkjia2'spassword: xxxxx
authorized_keys                                   100% 1206     1.2KB/s   00:00

通過登入到節點並運行以下命令,為叢集中的兩個 Oracle RAC 節點更改授權識別碼檔案的許可權:
[grid@bkjia1 ~]$ chmod 600 ~/.ssh/authorized_keys
在叢集節點上啟用 SSH 使用者等效性

將包含所有公用密鑰的 authorized_keys 檔案複製到叢集中的每個節點之後,完成本節中的各個步驟以確保正確配置了叢集成員節點之間的無口令 SSH 串連。在本樣本中,將使用名為 grid 的 Oracle Grid Infrastructure 軟體所有者。

當您運行本節中的測試 SSH 命令時,如果看到除日期和主機名稱之外的任何其他訊息或文本,則 Oracle 安裝將失敗。如果任一節點提示您輸入口令或口令短語,則驗證節點上的 ~/.ssh/authorized_keys 檔案中包含了正確的公用密鑰並且您已建立了具有同樣群組成員關係和 ID 的 Oracle 軟體所有者。進行必要的更改,以確保您在輸入這些命令時只顯示日期和主機名稱。您應當確保對產生任何輸出或詢問任何問題的登入指令檔的任何部分進行修改,以便它們僅當 shell 是互動式 shell 時才會生效。


在您希望運行 OUI 的系統 (bkjia1) 上,以 grid 使用者身份登入。
[root@bkjia1 ~]# su - grid

如果 SSH 配置正確,您將能夠從終端對話使用 ssh 和 scp 命令,而無需提供口令或口令短語。
[grid@bkjia1 ~]$ ssh bkjia1 date
Fri Nov 13 09:46:56 EST 2009
bkjia1

[grid@bkjia1 ~]$ ssh bkjia2 date
Fri Nov 13 09:47:34 EST 2009
bkjia2

如果要求輸入密碼的話,檢查grid檔案夾的許可權,兩邊節點目標的許可權需要一致,許可權太大(比如是777)則需把許可權改小(如755)

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.