📜  Puppet-SSL签名证书设置

📅  最后修改于: 2020-10-31 14:01:56             🧑  作者: Mango


当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' 

人偶服务器现在可以与签署证书所属的节点通信。

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

从人偶设置中撤消主机

当需要从设置中删除主机并重新添加主机时,在配置内核重建时会存在一些条件。这些是人偶本身无法管理的条件。可以使用以下命令来完成。

$ 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主设备现在可以在其中管理新添加的节点。