PuppetServer upgarde失败,缺少私钥

时间:2019-05-16 13:51:36

标签: ssl puppet rhel6

我有一个正在工作的puppetserver,但是在操作系统修补过程中它以某种方式被弄乱了,并且没有出现。我尝试全新安装``puppetserver . It is 6.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

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

1 个答案:

答案 0 :(得分:2)

如果程序声称缺少文件(您知道该文件存在),则真正的问题几乎可以肯定是访问控制之一,即对该问题的特定文件或其路径中的目录的访问控制。有几种可能导致这种问题的细节模式,并且有可能在您所描述的场景中出现。

执行以下操作:

  • 确定正在运行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强制模式,或者(更好)编写并安装一个SELinux策略模块以启用PuppetServer的访问。