
我們在多個自動縮放實例上執行 OpenVPN 伺服器(用於冗餘和自我修復),因此它以腳本方式進行配置。我們跨這些臨時實例管理客戶端憑證的方法非常笨拙,目前涉及將 tarball 提取到目錄中/etc/openvpn/easy-rsa/pki
。
我只想將客戶端憑證移至共用網路目錄,但我無法弄清楚哪些組態設定通知 openvpn 有關這些 pki 子目錄的資訊。 (這些ca/cert/key/dh
設定都指向層次結構的深處,即/etc/openvpn/easy-rsa/pki/issued/server.crt
,這對我來說意味著不會有任何關於 easy-rsa 目錄結構的內建假設。)
openvpn如何找到這些檔案?
答案1
你好,謝謝你的提問...
你想起來容易一點;-)。您不需要所有客戶端憑證。客戶端需要客戶端憑證...
設定檔旁邊有 3-4 個產生的「連結」文件,這些文件可以直接作為部分嵌入到設定檔中(這些是您在伺服器/客戶端上需要的全部內容)。
- TLS 金鑰(可選,但使用起來不錯;-))
這是共用金鑰,即使在啟動客戶端特定流量之前也可以確保通訊安全 - 如果不知道此金鑰,伺服器就會忽略您的通訊。這個檔案在伺服器端和客戶端是一樣的
CA 證書頒發機構是什麼證書,用於確認遠端的信任。
伺服器:頒發客戶證書的機構的證書。這就是您正在尋找的內容 - 因為該檔案可用於檢查連線期間所有已頒發的用戶端憑證。該單一文件可用於檢查同一 CA 頒發的當前和未來證書(這就是 easy-rsa 所涵蓋的內容)
客戶:該檔案用於檢查伺服器憑證是否可信。它可以與伺服器端相同,但從技術上講,伺服器憑證可以由與客戶端憑證不同的 CA 頒發。
鑰匙
用於保護通訊安全的私鑰。該文件應妥善保管,因為它是確認您身分的文件。
- 證書
憑證(公鑰「包裝」有與 X.509 結構中的憑證授權單位相關的附加資訊)。該文件甚至可以公開取得,因為它僅用於檢查通訊的有效性(簽署所使用的金鑰確實是「那個」受信任的金鑰)。
正如您所提到的 easy-rsa ,客戶端和伺服器端的 CA 最有可能是相同的。一旦您擁有通用 TLS 金鑰、通用 CA 檔案和帶有相應憑證的自己的金鑰,您就擁有了讓它正常運作所需的一切。
一旦您為使用者產生金鑰和憑證並將其交付給使用者(或至少將其發送出去),您就不再需要它了,甚至可以從伺服器中刪除該使用者金鑰+憑證...
在「大」憑證授權單位中,頒發伺服器甚至不知道使用者金鑰,因為憑證要求包含建立簽署憑證所需的公鑰(從私鑰派生的資訊) - 金鑰是在客戶端產生的並且永遠不要在這個過程中留下它......