天天看點

兩個SSH2間免密碼登入

兩個SSH2間免密碼登入

以下針對的是ssh2,而不是ssh,也不是OpenSSH。配置分兩部分:一是對登入機的配置,二是對被登入機的配置,其中登入機為用戶端,被登入機為服務端,也就是解決用戶端到服務端的無密碼登入問題。下述涉及到的指令,可以直接拷貝到Linux終端上執行,已全部驗證通過,操作環境為SuSE 10.1。

如何确定是OpenSSH還是SSH2?執行指令“ssh -V”,通過它的輸出,即可确定:

SSH2

ssh: SSH Secure Shell 3.2.9.1 (non-commercial version) on

OpenSSH

OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010

第一步,修改所有被登入機上的sshd配置檔案/etc/ssh2/sshd2_config:

1) 将PermitRootLogin值設定為yes,也就是取掉前面的注釋号#

2) 将AllowedAuthentications值設定為publickey,password,也就是取掉前面的注釋号#

3) 重新開機sshd服務:service ssh2 restart

第二步,在所有登入機上,執行以下步驟:

1) 進入到.ssh2目錄:cd ~/.ssh2

2) ssh-keygen2 -t dsa -P''

-P表示密碼,-P''就表示空密碼,也可以不用-P參數,但這樣就要敲三次Enter鍵,用-P''就一次回車。

成功之後,會在使用者的主目錄下生成私鑰檔案id_dsa_2048_a,和公鑰檔案id_dsa_2048_a.pub。

3) 生成identification檔案:echo "IdKey id_dsa_2048_a" >> identification,請注意IdKey後面有一個空格,確定identification檔案内容如下:

# cat identification

IdKey id_dsa_2048_a

第三步,在所有被登入機上,執行以下步驟:

2) 生成或修改authorization檔案:echo "Key id_dsa_2048_a.pub" >> authorization,請注意Key後面有一個空格,確定authorization檔案内容如下:

# cat authorization

Key id_dsa_2048_a.pub

完成上述工作之後,從登入機到被登入機的ssh登入就不需要密碼了。

繼續閱讀