任何第一次连接到 Puppet 主服务器的 Puppet
代理都会生成一个证书并将其交给 Puppet 主服务器进行签名。
根据 puppet 配置,默认行为是证书必须手动签名,因此 puppet 代理退出并出现错误:
Exiting; no certificate found and waitforcert is disabled
要解决此问题,请登录 Puppet 主服务器并列出所有等待签名的证书,例如:
# puppet cert list "agent1" (SHA256) 73:D4:EF:1A:F6:B9:D8:2F:AB:6F:4F:95:CA:73:CE:3F:8C:8B:5C:23:BB:B2:17:47:98:08:C7:01:96:C1:17:E2
从上面我们可以看到来自单个主机“agent1”的证书正在等待其证书被签名。
输出可能不同,并且包含多个等待签名的证书。
从这里我们有两个关于如何签署上述证书的选项。
首先,我们可以单独签署每个证书:
# puppet cert sign agent1 Notice: Signed certificate request for agent1 Notice: Removing file Puppet::SSL::CertificateRequest agent1 at '/etc/puppetlabs/puppet/ssl/ca/requests/agent1.pem'
或者我们可以一次签署所有等待的证书:
# puppet cert sign --all
日期:2020-07-07 20:54:49 来源:oir作者:oir