将 Puppet 客户端迁移到新的 Puppet Master(旧的 Puppet Master 服务器已经不存在了,只使用备份)

将 Puppet 客户端迁移到新的 Puppet Master(旧的 Puppet Master 服务器已经不存在了,只使用备份)

我的 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。根据我的测试,您应该能够:

  1. 停止 puppetmasterd
  2. 删除文件/var/lib/puppet/ssl/certs/hostname.pem
  3. 启动 puppetmasterd

这应该使用旧的私钥和 CA 生成一个新的服务器端 ssl 证书,并保留已经签名的现有客户端证书。

相关内容