1. 程式人生 > 其它 >linux伺服器之間免密登入

linux伺服器之間免密登入

有時為了能夠使用ssh執行指令碼,需要設定基於金鑰檔案的認證方式,取代密碼認證,如下:

1、生成ssh金鑰

 這是一個互動式命令,執行之後會詢問使用者金鑰檔案存放的位置及相應的金鑰短語,本文回車預設執行。執行完畢後,會在當前使用者的home目錄下建立一個.ssh資料夾,裡面生成兩個金鑰檔案:id_rsa和id_rsa.pub,前者式私鑰檔案,後者是公鑰檔案。

2、分發公鑰檔案

將公鑰分發到目標機器,其中user@host為目標使用者和主機,如果省略user,則預設為當前使用者,執行時需要輸入目標使用者在目標主機上的登入密碼。

建議在分發時將公鑰同時分發給本機,這樣在訪問本機時也可免密。
每個使用者在.ssh目錄下都有一個專門存放所有授權登入本機的公鑰檔案authorized_keys,在分發時,即是將公鑰傳送到這個檔案中,相當於手工將公鑰內容複製到目標機器的authorized_keys檔案中(說明分發公鑰時也可以手工複製)。
到此,即完成單項授權,可以在當前機器上使用指定使用者免密登入到目標機器(但目標機器無法免密回訪)。

3、反向授權

為了能夠使伺服器之間都能免密訪問,需要在目標機器上同樣執行上述兩個步驟,執行完成後,兩臺伺服器之間就可以互相免密登入了。