我的 Puppet Master 服务器发生硬件故障,我已将其恢复到另一台机器。但是这台机器的硬件和主机名不同。
如果我将现有的 /etc/puppet 目录恢复到新服务器,puppetmaster 将无法启动并出现以下错误;
# puppetmasterd --debug --verbose Could not prepare for execution: Retrieved certificate does not match private key; please remove certificate from server and regenerate it with the current key
那么我需要采取什么步骤来允许新的 puppetmaster 启动,并使用旧的 ca 生成新的 puppetmaster 证书..
另外,Puppet 客户端实际上是否会使用旧 CA 生成的服务器证书向不同的 Puppet 服务器报告?
答案1
puppetmaster 将所有证书、密钥和 ca 信息存储在文件夹中/var/lib/puppet/ssl
。根据我的测试,您应该能够:
- 停止 puppetmasterd
- 删除文件
/var/lib/puppet/ssl/certs/hostname.pem
- 启动 puppetmasterd
这应该使用旧的私钥和 CA 生成一个新的服务器端 ssl 证书,并保留已经签名的现有客户端证书。