Puppet - SSL 證書設定



當 Puppet 代理軟體在任何 Puppet 節點上第一次執行時,它會生成一個證書並將證書籤名請求傳送到 Puppet 主伺服器。在 Puppet 伺服器能夠通訊和控制代理節點之前,它必須簽署該特定代理節點的證書。在以下部分中,我們將描述如何簽署和檢查簽名請求。

列出當前證書請求

在 Puppet 主伺服器上,執行以下命令檢視所有未簽名的證書請求。

$ sudo /opt/puppetlabs/bin/puppet cert list

因為我們剛剛設定了一個新的代理節點,我們將看到一個待批准的請求。以下是**輸出**。

"Brcleprod004.brcl.com" (SHA259) 
15:90:C2:FB:ED:69:A4:F7:B1:87:0B:BF:F7:ll:
B5:1C:33:F7:76:67:F3:F6:45:AE:07:4B:F 6:E3:ss:04:11:8d 

它開頭沒有 +(加號),表示證書尚未簽名。

簽署請求

為了簽署在 Puppet 代理在新節點上執行時生成的新的證書請求,將使用 Puppet cert sign 命令,以及由需要簽署的新配置節點生成的證書的主機名。由於我們有 Brcleprod004.brcl.com 的證書,我們將使用以下命令。

$ sudo /opt/puppetlabs/bin/puppet cert sign Brcleprod004.brcl.com 

以下是**輸出**。

Notice: Signed certificate request for Brcle004.brcl.com 
Notice: Removing file Puppet::SSL::CertificateRequest Brcle004.brcl.com at 
'/etc/puppetlabs/puppet/ssl/ca/requests/Brcle004.brcl.com.pem' 

Puppet 伺服器現在可以與簽署證書的節點通訊。

$ sudo /opt/puppetlabs/bin/puppet cert sign --all 

從 Puppet 設定中吊銷主機

在需要從設定中移除主機並重新新增它時,核心重建的配置有一些條件。這些是 Puppet 本身無法管理的條件。可以使用以下命令完成。

$ sudo /opt/puppetlabs/bin/puppet cert clean hostname 

檢視所有已簽署的請求

以下命令將生成已簽署證書的列表,其中包含 +(加號),表示請求已批准。

$ sudo /opt/puppetlabs/bin/puppet cert list --all

以下是其**輸出**。

+ "puppet" (SHA256) 5A:71:E6:06:D8:0F:44:4D:70:F0:
BE:51:72:15:97:68:D9:67:16:41:B0:38:9A:F2:B2:6C:B 
B:33:7E:0F:D4:53 (alt names: "DNS:puppet", "DNS:Brcle004.nyc3.example.com")  

+ "Brcle004.brcl.com" (SHA259) F5:DC:68:24:63:E6:F1:9E:C5:FE:F5:
1A:90:93:DF:19:F2:28:8B:D7:BD:D2:6A:83:07:BA:F E:24:11:24:54:6A 

+ " Brcle004.brcl.com" (SHA259) CB:CB:CA:48:E0:DF:06:6A:7D:75:E6:CB:22:BE:35:5A:9A:B3 

完成上述操作後,我們的基礎設施已準備就緒,Puppet 主伺服器現在能夠管理新新增的節點。

廣告