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

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

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


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

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


where?應用在哪裏?

可應用於OpenSSH,實現更加安全、免交互的遠程登錄、拷貝、複製等操作。


how?如何實現?

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

wKioL1bi0eqR0usTAAE1dwJqT5g376.jpg


一,在客戶端創建祕鑰對

       在linux客戶機中,通過ssh-keygen工具創建祕鑰對文件,可用的加密算法爲RSA或DSA。

    命令格式:ssh-keygen -t 算法        //默認是RSA算法

wKioL1bi14CAg2O1AADnq_IjpFw156.jpg

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

wKiom1bi12mSLUAGAABKG0YTId8204.jpg

注意!私鑰文件(id_rsa)的默認權限爲600,公鑰文件(id_rsa.pub)的默認爲644,私鑰文件的權限不要進行修改,不要將私鑰泄露給任何人!


二,將公鑰文件上傳至服務器

    使用scp 命令將公鑰文件上傳到遠程服務器的opt目錄下(目錄的位置隨便)

wKioL1bi2kTBOQ-vAAC0dhiMC6A338.jpg


三,在服務器端導入公鑰

    在服務器中,目標用戶(用於遠程登錄的賬戶lisi)的公鑰位於~/.ssh目錄,默認的文件名是authorized_keys。當獲得客戶機發送過來的公鑰文件後,可以通過重定向將公鑰文件內容追加到目標用戶的公鑰數據庫中。

wKiom1bi3l2y-UnrAADQL6s8mrU247.jpg

    在公鑰數據庫authorized_keys文件中,最關鍵的內容是"ssh-rsa"加密字串部分,當導入非ssh-keygen工具創建的公鑰文本時應確保此部分信息完整,最後的zhangsan@ys是註釋信息(可有可無)

    注意!這個文件同組或者是其他用戶對該文件不能有寫入的權限。還應該確保服務器支持祕鑰對驗證的方式,可參考上一篇如何在sshd_config中開啓密鑰對認證功能。

wKiom1bi4kmQzNGEAAAnfN5JKSs570.jpg


四,在客戶端使用祕鑰對驗證wKioL1bi5ITijhPVAABJGvW8334361.jpg


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章