天天看點

如何建構密鑰對驗證的SSH體系

what?什麼是密鑰對驗證的SSH體系?

SSH支援兩種驗證方法,一種是使用者身份驗證另一種是密鑰對驗證,本文主要講解如何實作密鑰對驗證。

why?使用密鑰對驗證的好處?

密鑰對驗證更加安全,并且可以免互動。使用起來更加安全、便捷。

where?應用在哪裡?

可應用于OpenSSH,實作更加安全、免互動的遠端登入、拷貝、複制等操作。

how?如何實作?

下圖為在Linux伺服器、客戶機中建構密鑰對驗證SSH體系的基本過程。

如何建構密鑰對驗證的SSH體系

一,在用戶端建立秘鑰對

       在linux客戶機中,通過ssh-keygen工具建立秘鑰對檔案,可用的加密算法為RSA或DSA。

    指令格式:ssh-keygen -t 算法        //預設是RSA算法

如何建構密鑰對驗證的SSH體系

    上述過程中一般按enter鍵即可,如果需要設定秘鑰短語可以根據提示輸入,私鑰短語用來保護私鑰檔案,當使用該私鑰進行驗證的時候需要使用短語進行驗證。

如何建構密鑰對驗證的SSH體系

注意!私鑰檔案(id_rsa)的預設權限為600,公鑰檔案(id_rsa.pub)的預設為644,私鑰檔案的權限不要進行修改,不要将私鑰洩露給任何人!

二,将公鑰檔案上傳至伺服器

    使用scp 指令将公鑰檔案上傳到遠端伺服器的opt目錄下(目錄的位置随便)

如何建構密鑰對驗證的SSH體系

三,在伺服器端導入公鑰

    在伺服器中,目标使用者(用于遠端登入的賬戶lisi)的公鑰位于~/.ssh目錄,預設的檔案名是authorized_keys。當獲得客戶機發送過來的公鑰檔案後,可以通過重定向将公鑰檔案内容追加到目标使用者的公鑰資料庫中。

如何建構密鑰對驗證的SSH體系

    在公鑰資料庫authorized_keys檔案中,最關鍵的内容是"ssh-rsa"加密字串部分,當導入非ssh-keygen工具建立的公鑰文本時應確定此部分資訊完整,最後的zhangsan@ys是注釋資訊(可有可無)

    注意!這個檔案同組或者是其他使用者對該檔案不能有寫入的權限。還應該確定伺服器支援秘鑰對驗證的方式,可參考上一篇如何在sshd_config中開啟密鑰對認證功能。

如何建構密鑰對驗證的SSH體系

繼續閱讀