現有兩台機器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 >> .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,如需轉載請自行聯系原作者