天天看點

CentOS SSH免密碼登入(SSH互信)

在做叢集的時候是需要SSH互信的,另外也利于在另一節點操作友善

1.在Node1中生成公鑰和私鑰對

1

2

3

4

5

6

7

<code>[root@Node1~]</code><code># ssh-keygen -t rsa</code>

<code>Generatingpublic</code><code>/private</code> <code>rsa key pair.</code>

<code>Enterfile </code><code>in</code> <code>which</code> <code>to save the key (</code><code>/root/</code><code>.</code><code>ssh</code><code>/id_rsa</code><code>): 回車</code>

<code>Enterpassphrase (empty </code><code>for</code> <code>no passphrase): 回車</code>

<code>Entersame passphrase again: 回車</code>

<code>Youridentification has been saved </code><code>in</code> <code>/root/</code><code>.</code><code>ssh</code><code>/id_rsa</code><code>.</code>

<code>Yourpublic key has been saved </code><code>in</code> <code>/root/</code><code>.</code><code>ssh</code><code>/id_rsa</code><code>.pub.</code>

這期間一直按回車即可,這樣公鑰/私鑰對就建立完畢

2.在Node2上建立.ssh目錄并設定權限

<code>[root@Node2~]</code><code># mkdir /root/.ssh/</code>

<code>[root@Node2~]</code><code># chmod 700 .ssh/</code>

3.将公鑰傳送到Node2上,這樣在Node1上就可以免密碼登入Node2了

<code>[root@Node1~]</code><code># scp .ssh/id_rsa.pub Node2:.ssh/authorized_keys</code>

<code>root@Node2'spassword: 輸入Node2(192.168.100.223)的root密碼</code>

<code>id_rsa.pub                                   100%  392     0.4KB</code><code>/s</code>   <code>00:00</code>

或者也可以直接使用

<code>[root@node1 ~]</code><code># ssh-copy-id -i .ssh/id_rsa.pub root@node2</code>

現在我們已經可以在Node1上免密碼登入Node2了

如果出現

<code>[root@Node2 .</code><code>ssh</code><code>]</code><code># ssh -copy -id -i id_rsa.pub root@Node1</code>

<code>-</code><code>bash</code><code>: </code><code>ssh</code><code>: </code><code>command</code> <code>not found</code>

<code>或</code>

<code>[root@Node2 .</code><code>ssh</code><code>]</code><code># scp id_rsa.pub Node1:.ssh/authorized_keys</code>

<code>-</code><code>bash</code><code>: </code><code>scp</code><code>: </code><code>command</code> <code>not found</code>

則是說明未安裝openssh-clients

執行

<code>yum -y </code><code>install</code> <code>openssh-clients</code>

這時最好在Node2上執行:

<code>[root@node2 ~]</code><code># touch /root/.ssh/authorized_keys2  (如果已經存在這個檔案, 跳過這條)</code>

<code>[root@node2 ~]</code><code># cat /root/.ssh/authorized_keys   &gt;&gt; /root/.ssh/authorized_keys2 (将authorized_keys的内容追加到 authorized_keys2 中)</code>

這裡在Node2上建立authorized_keys2檔案,并将authorized_keys檔案追加到authorized_keys2檔案裡是為了如果需要在多台機器上進行互信,則可能會将authorized_keys檔案覆寫,現在直接将所有公鑰都放在一個檔案裡頭

另外再在Node2上也生成公鑰和私鑰對,将公鑰傳至Node1上

本文轉自 rong341233 51CTO部落格,原文http://blog.51cto.com/fengwan/1405466連結:

繼續閱讀