轉載自http://liuhuan3611.iteye.com/admin/blogs/2145269
在網上有很多講解ssh無密碼登錄的博客,但是大部分都是講解單機的,多臺機器雖然原理相似,但是不免出現單機可以,但是多臺機器實現不了ssh無密碼登錄,這邊文章結合實例講解,希望能幫到大家
環境背景:
(1)有兩臺服務器,而且已經安裝好ssh服務
(2)ip分別是192.168.148.135和192.168.148.136.下面就用135和136代替這兩臺機器
1.首先實現135和136機器的單機ssh免密碼登錄。
上圖可以看到135和136ssh登錄都需要密碼。
首先我們在135和136機器上操作如下
然後我們就會在機器的 cd ~/.ssh 下面看到id_rsa id_rsa.pub兩個文件
然後執行cat id_rsa.pub >> authorized_keys,按照以上操作應該實現了本機的ssh無密碼登錄。但是看下圖
ssh無密碼登錄本機失敗。
一般有兩個原因:
檢查.ssh目錄權限是否是700 以及 authorized_keys權限是否644,如果不是修改權限。
我這裏的權限,明顯不是644,修改chmod 644 authorized_keys
可以看到,修改權限後,登錄成功。
2.實現135和136相互無密碼登錄
在這裏我們可能想到把id_rsa.pub複製到遠程服務器,然後追加到authroized_keys中,這樣做當然可以,但是我們這裏提供一個更好的辦法
ssh-copy-id
解釋的很清楚,就是用來幹ssh公鑰追加到authorized_keys中的。
基本用法 ssh-copy-id -i ~/.ssh/id_rsa.pub user@server
如果服務的ssh端口不是22,則使用ssh-copy-id -i ~/.ssh/id_rsa.pub -p port user@server
然後我們執行ssh 192.168.148.135可以實現無密碼登錄
同樣把135上面的id_rsa.pub複製到136上,可以實現135到136的無密碼登錄,謝謝!