PuppetServer upgarde 因缺少私钥而失败

PuppetServer upgarde failing with missing private key

我有一个工作 puppetserver 但不知何故它在 os 修补过程中被搞砸了,它没有出现。我尝试全新安装 ``puppetserver. It is6.3.0` 。完成安装后,我从包含证书的旧安装中恢复了 ssl 目录,但它失败并出现以下错误

  /etc/puppetlabs/puppet/ssl/certs/example.com.pem' but master private key '/etc/puppetlabs/puppet/ssl/private_keys/example.com.pem' is missing

但是这两个文件都存在。有任何解决此问题的建议,或者我必须生成新密钥吗?

如果程序声称丢失了一个您知道存在的文件,那么几乎可以肯定真正的问题是访问控制,无论是对有问题的特定文件还是对路径中的目录。有多种细节模式可能会导致此类问题,并且它可能会出现在您描述的场景中。

这样做:

  • 确定 PuppetServer 是 运行 的用户。典型的是一个名为 "puppet",但不要假设。

  • 确保 /etc/puppetlabs/puppet/ssl/certs/example.com.pem 的所有权和模式允许 PuppetServer 用户读取它。

  • 确保路径 /etc/puppetlabs/puppet/ssl/certs 中每个目录的所有权和模式允许 PuppetServer 用户读取和遍历(执行)该目录。

  • 如果服务器上启用了 SELinux,请通过

    确保它不会导致问题
    1. 运行restorecon。如果此时问题仍然存在,那么您也可以尝试
    2. 将 SELinux 置于宽容模式:setenforce 0。如果这是解决问题所需要的,那么您将需要禁用 SELinux 强制模式,或者(更好)编写并安装一个启用 PuppetServer 访问的 SELinux 策略模块。