天天看點

linux生成ssh密鑰

前言

我們一般使用 putty 等 ssh 用戶端來遠端管理 linux 伺服器。但是,一般的密碼方式登入,容易有密碼被暴力破解的問題。是以,一般我們會将 ssh 的端口設定為預設的 22 以外的端口,或者禁用 root 賬戶登入。其實,有一個更好的辦法來保證安全,而且讓你可以放心地用 root 賬戶從遠端登入——那就是通過密鑰方式登入。

密鑰形式登入的原理是:利用密鑰生成器制作一對密鑰——一隻公鑰和一隻私鑰。将公鑰添加到伺服器的某個賬戶上,然後在用戶端利用私鑰即可完成認證并登入。這樣一來,沒有私鑰,任何人都無法通過 ssh 暴力破解你的密碼來遠端登入到系統。此外,如果将公鑰複制到其他賬戶甚至主機,利用私鑰也可以登入。

下面來講解如何在 linux 伺服器上制作密鑰對,将公鑰添加給賬戶,設定 ssh,最後通過用戶端登入。

制作密鑰對

首先在伺服器上制作密鑰對。首先用密碼登入到你打算使用密鑰登入的賬戶,然後執行以下指令:

密鑰鎖碼在使用私鑰時必須輸入,這樣就可以保護私鑰不被盜用。當然,也可以留白,實作無密碼登入。

現在,在 root 使用者的家目錄中生成了一個 .ssh 的隐藏目錄,内含兩個密鑰檔案。id_rsa 為私鑰,id_rsa.pub 為公鑰。

在伺服器上安裝公鑰

鍵入以下指令,在伺服器上安裝公鑰:

如此便完成了公鑰的安裝。為了確定連接配接成功,請保證以下檔案權限正确:

設定 ssh,打開密鑰登入功能

編輯 /etc/ssh/sshd_config 檔案,進行如下設定:

另外,請留意 root 使用者能否通過 ssh 登入:

當你完成全部設定,并以密鑰方式登入成功後,再禁用密碼登入:

最後,重新開機 ssh 服務:

将私鑰下載下傳到用戶端,然後轉換為 putty 能使用的格式

使用 winscp、sftp 等工具将私鑰檔案 id_rsa 下載下傳到用戶端機器上。然後打開 puttygen,單擊 actions 中的 load 按鈕,載入你剛才下載下傳到的私鑰檔案。如果你剛才設定了密鑰鎖碼,這時則需要輸入。

載入成功後,puttygen 會顯示密鑰相關的資訊。在 key comment 中鍵入對密鑰的說明資訊,然後單擊 save private key 按鈕即可将私鑰檔案存放為 putty 能使用的格式。

今後,當你使用 putty 登入時,可以在左側的 connection -> ssh -> auth 中的 private key file for authentication: 處選擇你的私鑰檔案,然後即可登入了,過程中隻需輸入密鑰鎖碼即可。

ssh

繼續閱讀