天天看點

RAC中的ssh使用者等價

所謂的使用者等價,就是以oracle使用者從一個節點連接配接到另一個節點時,不需要輸入密碼。Clusterware和Database的安裝過程都是先在一個節點安裝,然後安裝程式自動把本地安裝好的内容複制到遠端相同的目錄,這是一個背景拷貝過程,安裝人員沒有機會輸入密碼進行驗證,是以必須配置使用者等價。

oracle允許使用兩種使用者等價RSH和SSH。推薦使用SSH,因為更安全。

配置步驟:

以在redhat5上安裝oracle10gR2的rac為例:

[root@rac1 ~]$mkdir ~/.ssh

[root@rac1 ~]$chmod 755 ~/.ssh

[[root@rac1 ~]$cd  ~/.ssh

[root@rac1 ~]$/usr/bin/ssh-keygen -t rsa

Generating public/private rsa key pair.

Enter file in which to save the key(/home/oracle/.ssh/id_rsa):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in/home/oracle/.ssh/id_rsa.

Your public key has been saved in/home/oracle/.ssh/id_rsa.pub.

The key fingerprint is:

這裡一路按回車選擇預設就行

[root@rac1 ~]$ /usr/bin/ssh-keygen -t dsa

Generating public/private dsa key pair.

Enter file in which to save the key(/home/oracle/.ssh/id_dsa):

Your identification has been saved in/home/oracle/.ssh/id_dsa.

Your public key has been saved in/home/oracle/.ssh/id_dsa.pub.

87:92:54:42:4b:23:b0:22:ba:e2:31:4a:1f:65:04:c9oracle@rac1

現在,必須将每個主機上的公共密鑰檔案 id_rsa.pub 和 id_dsa.pub 的内容複制到其他每個主機的 ~/.ssh/authorized_keys 檔案中。

使用ssh将每個檔案的内容複制到 ~/.ssh/authorized_keys檔案。請注意,當您使用ssh第一次通路遠端主機時,其 RSA 密鑰将是未知的,進而将提示您确認是否希望連接配接該主機。SSH 将記錄該遠端主機的 RSA 密鑰,并在以後連接配接該主機時不再做出相關提示。

隻需在第一個主機上,以oracle 使用者身份登入(複制本地帳戶的密鑰,以便連接配接本地主機的 ssh 能夠起作用):

(如果您要剪切和粘貼這些指令,則分别運作它們。 SSH 每次會提示輸入 oracle的密碼,如果同時粘貼這些指令,則第一個指令在提示輸入密碼之前重新整理輸入緩沖區,進而導緻其他指令将會丢失。)

[root@rac1 ~]cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys

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

上面扯了這麼多,又執行了這兩個指令,其實就是要你把那倆.pub檔案合成一個,然後拷貝到其他每個主機的 ~/.ssh/authorized_keys檔案中(可以直接這麼幹就行):

[[email protected]]$ cat *.pub > authorized_keys

現在進入另一台主機rac2進行上面的操作!!!!!

現在,我們把所有節點的authorized_key檔案合并成一個:

[oracle@rac1 .ssh]$ scp authorized_keys rac2:/home/oracle/.ssh/key_rac1

The authenticity of host 'rac2(192.168.15.102)' can't be established.

RSA key fingerprint is0e:fe:c3:42:a2:65:64:d7:77:6e:1c:31:e0:ff:d6:4f.

Are you sure you want to continueconnecting (yes/no)? yes

Warning: Permanently added'rac2,192.168.15.102' (RSA) to the list of known hosts.

oracle@rac2's password:(這裡輸入你的rac2的oracle使用者的密碼,我的密碼是ora123)

authorized_keys                               100%  994    1.0KB/s   00:00

現在已經把rac1上的authorized_keys檔案拷到了rac2上(已經被命名為:key_rac1),我們接下來把此檔案和rac2原有的那個authorized_keys合并起來。

[oracle@rac2 .ssh]$

catkey_rac1 >> authorized_keys

 [[email protected]]$ scp authorized_keysrac1:/home/oracle/.ssh/.

The authenticity of host 'rac1(192.168.15.101)' can't be established.

Warning: Permanently added'rac1,192.168.15.101' (RSA) to the list of known hosts.

oracle@rac1's password: (這裡輸入你的rac1的oracle使用者的密碼,我的密碼是ora123)

authorized_keys                               100% 1988     1.9KB/s  00:00   

如果是多台主機做rac叢集的話要對第二,第三,第四個主機做同樣的處理。請注意,這次有的SSH不會提示您輸入oracle的密碼。這是因為第一個主機(dbrac01)現在知道了第二個主機的公共密鑰,而SSH現在使用的是一種不同的認證協定。

最後,在每個節點上ssh一下所有結點(包括自己)

[root@rac1 ~] ssh rac2 date

The authenticity of host 'dbrac02 (10.49.9.100)'can't be established.

RSA key fingerprint is 8f:a3:19:76:ca:4f:71:85:42:c2:7a:da:eb:53:76:85.

Are you sure you want to continue connecting(yes/no)? yes

Sun Jun 27 19:07:19 CDT 2004

該消息隻有在遠端節點上第一次執行操作時才會出現,是以通過測試連通性,您不僅確定了遠端操作的正常運作,還完成了初始的安全密鑰交換。

我們也可以ssh登入其他節點看看:

[oracle@rac1 .ssh]$ssh rac2

Last login: Tue Sep  3 22:31:02 2013 from rac1-priv

[oracle@rac1 .ssh]$ ssh rac2-priv

Last login: Tue Sep  3 22:36:44 2013 from rac1

同樣可以試驗在rac2上登入rac1

繼續閱讀