我是否了解 OpenSSH 和 X509 的工作原理?

我是否了解 OpenSSH 和 X509 的工作原理?

我們想要使用 X509 憑證測試與 OpenSSH 的連接來自 Roumen Petrov 的 pkixssh 分支

我真的不明白完整的身份驗證是如何運作的,特別是如何使用 X509 標準建立憑證以進行公鑰憑證驗證。

因此,我將首先解釋我是如何理解它的,以及我將遵循的測試 a 之間的連接的完整過程。“客戶”和一個"伺服器"具有 OpenSSH 的 PKIXSSH 分支的計算機,使用 X509 憑證。為了進行測試,我們將使用第三台機器,我們稱之為“控制機”,將充當「認證機構」的機器

為了了解它是如何運作的,我閱讀了以下文件:

快速總結一下,如果我理解正確的話,它是這樣運作的:

  • X509 是簽署公鑰的標準。如果憑證授權單位已知,則簽署的公鑰被視為有效。
  • 我們可以為主機和使用者簽署公鑰
  • 使用 X509 證書,我們可以登入 OpenSSH 伺服器,而無需使用密碼,也無需使用傳統的 OpenSSH 私鑰-公鑰身份驗證。這意味著無需在目標伺服器上複製用戶公鑰
  • 如果我們對主機使用 X509 證書,那麼客戶端將信任 OpenSSH 伺服器,而無需在known_host 檔案中手動新增其公鑰。

我們想做兩個測試:

  • 使用 X509 憑證測試使用者從客戶端電腦到伺服器的連接
  • 在第二步驟中新增伺服器主機的身份驗證

我得出的結論是必須遵循接下來的步驟

  • 在「控制」機器中:

    • 為我們的測試認證機構配置並建立金鑰
    • 將公共憑證授權單位金鑰傳送到「伺服器」機器的 OpenSSH 守護進程,以便我們的 CA 被識別
  • 在「客戶端」機器中:

    • 為用戶創建私鑰和公鑰
    • 將公鑰傳送到控制機由ca簽名
    • 將憑證新增至私鑰檔案中,以便將其呈現給伺服器

此時一切都應該就位,因此我們可以測試連接

我理解正確嗎?

答案1

最後我理解並測試了連結:-)。

我在我剛剛部署的部落格上寫了一篇文章(以一種快速而骯髒的方式,該部落格很簡單,不是很漂亮,但很有用)。

您可以在文章中閱讀測驗的完整描述“使用 X509 憑證的 OpenSSH 如何”

非常感謝 Roumen Petrov 在產品郵件清單中對我的電子郵件的答覆。

相關內容