天天看點

ssh 免密碼登入

現有兩台機器A與B,A:10.240.210.131 使用者為root;B:10.240.210.233 使用者為root

要實作在A機器上通過ssh連接配接到B時不用輸入密碼。

1.在A機器執行ssh-keygen -t rsa生成一對rsa公私鑰,生成的密鑰對會存放在~/.ssh目錄下。

1

<code>root@</code><code>test</code> <code>.</code><code>ssh</code><code>$</code><code>ssh</code><code>-keygen -t rsa</code>

2.在B機器上root的使用者目錄下建立~/.ssh目錄。

2

<code>ssh</code> <code>[email protected]</code>

<code>mkdir</code> <code>-p .</code><code>ssh</code>

3.将10.240.210.131上使用者“root”的公鑰拷貝到[email protected]上,來實作無密碼ssh。

<code>$ </code><code>cat</code> <code>.</code><code>ssh</code><code>/id_rsa</code><code>.pub | </code><code>ssh</code> <code>aliceB@hostB </code><code>'cat &gt;&gt; .ssh/authorized_keys'</code>

附注:

上述的建立目錄并複制的操作(步驟2與3)也可以通過一個 ssh-copy-id 指令一步完成

<code>root@</code><code>test</code> <code>.</code><code>ssh</code><code>$</code><code>ssh</code><code>-copy-</code><code>id</code> <code>-i ~/.</code><code>ssh</code><code>/id_rsa</code><code>.pub [email protected]</code>

即使在密鑰認證生效後,你可能仍然需要輸入SSH密碼。如果遇到這種情況,請檢查系統日志(如/var/log/secure)以檢視是否出現下面的異常。

Authentication refused: bad ownership or modes for file /home/aliceB/.ssh/authorized_keys

在這種情況下,密鑰認證的失敗是由于~/.ssh/authorized_keys檔案的權限或擁有者不正确。一般情況,如果這個檔案對除了你之外的所有使用者都可讀,就會出現這個錯誤。用下面的方式改變檔案的權限以修正錯誤。

<code>$ </code><code>chmod</code> <code>700 ~/.</code><code>ssh</code><code>/authorized_keys</code>

本文轉自 xoyabc 51CTO部落格,原文連結:http://blog.51cto.com/xoyabc/1652623,如需轉載請自行聯系原作者

繼續閱讀