我有一个正在工作的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
但是两个文件都存在。任何解决此问题的建议还是我必须生成新密钥?
答案 0 :(得分:2)
如果程序声称缺少文件(您知道该文件存在),则真正的问题几乎可以肯定是访问控制之一,即对该问题的特定文件或其路径中的目录的访问控制。有几种可能导致这种问题的细节模式,并且有可能在您所描述的场景中出现。
执行以下操作:
确定正在运行PuppetServer的用户。典型的将是一个名为“ puppet”的人,但不要假设。
确保/etc/puppetlabs/puppet/ssl/certs/example.com.pem
的所有权和方式允许PuppetServer用户读取它。
确保路径/etc/puppetlabs/puppet/ssl/certs
中每个目录的所有权和模式允许PuppetServer用户读取和遍历(执行)该目录。
如果在服务器上启用了SELinux,请确保它不会引起问题
restorecon
。如果到那时问题仍然存在,那么您也可以尝试setenforce 0
。如果这是解决问题的方法,那么您将需要禁用SELinux强制模式,或者(更好)编写并安装一个SELinux策略模块以启用PuppetServer的访问。