我有一个傀儡主持人,一直在从一个远程木偶大师那里获取数据,现在我想把这个主人变成一个木偶大师。 主机(作为木偶代理)已经被configuration和SSL证书交换。
现在有一个新的傀儡大师(在同一个主持人),我没有任何设置。 我已经configurationpuppet.conf指向新的服务器(同一个主机,但使用DNS名称),但尚未configurationfileserver.conf。 木偶使用乘客和阿帕奇。
系统是Ubuntu Lucid Lynx与Puppet 2.6.3并且试图启动傀儡大师给这个反应:
# service puppetmaster start * Starting puppet master Could not prepare for execution: Retrieved certificate does not match private key; please remove certificate from server and regenerate it with the current key ...fail!
来自包裹的木偶乘客的configuration给出了这个错误:
# dpkg --configure puppetmaster-passenger Setting up puppetmaster-passenger (2.6.3-0ubuntu1~lucid1) ... Module ssl already enabled Site puppetmaster already enabled * Restarting web server apache2 Syntax error on line 16 of /etc/apache2/sites-enabled/puppetmaster: SSLCARevocationFile: file '/var/lib/puppet/ssl/ca/ca_crl.pem' does not exist or is empty ...fail! invoke-rc.d: initscript apache2, action "restart" failed. dpkg: error processing puppetmaster-passenger (--configure): subprocess installed post-installation script returned error exit status 1 Errors were encountered while processing: puppetmaster-passenger
我看了一下/ var / lib / puppet / ssl,但不知道从哪里开始 – 要删除或更改哪些证书,以及哪些要单独离开。 我没有看到任何关于SSL证书的描述。 我没有看到如何使/var/lib/puppet/ssl/ca/ca_crl.pem。
这个过程是build立一个双puppetmasterconfiguration的一部分。 两者都是主动的,并且在两个不同的区域中表示相同的数据(通过被认为是“昂贵”的链路连接)。 因此,两个傀儡会有相同的信息(可能是由rsync复制的),并作为傀儡主人在“昂贵”链接的主机上,不经常或按需交换数据。
我在puppet-users中发现了这个线程 ,但是它没有描述如何设置,也没有描述哪个SSL证书是哪个。
join更多信息:跑步的puppet master给出这个信息:
# puppet master Could not prepare for execution: Retrieved certificate does not match private key; please remove certificate from server and regenerate it with the current key
如果我只知道那个证书在哪里 我确信旧的服务器configuration干扰了新的安装,但不知道如何删除configuration。
我不想减损任何人的可能的答案 – 也许有一个更干净的方式来实现我的目标。
以下是我所做的:我删除了/ var / lib / puppet中的所有内容:
cd /var/lib/puppet rm -rf *
由于我使用的是软件包pipe理器,因此我查找了该目录中任何软件包所拥有的文件,而且没有。 对于Debian和dpkg,这是这样做的:
dpkg -S * */* */*/*
由于没有发现拥有这些文件的软件包,这表明这些文件是dynamic创build的,而且由于/ var / lib / puppet被一个软件包(puppet-common)所拥有,所以我离开了空目录。
然后我跑了傀儡大师(实际上是一个错误,因为乘客将被使用),并且适当的文件被重新创build。 在停下木偶,configuration乘客,configuration/ etc / default / puppetmaster和“重新启动”傀儡大师(悄然失败)之后,一切似乎都恢复了良好。
在服务器上运行puppet agent拉下了相应的证书,并使一切都很好。
如果您不关心为了审计或其他目的而保留证书,那么删除/ var / lib / puppet / ssl目录是完全可以接受的,因为puppet会重新创build它所需的所有内容。
如果你需要保持和想要转换,你需要深入到pki的世界,并且重新签署证书,重新部署公共证书等等。在你的情况下,删除你的老傀儡大师的cacert应该足以在你谈话时拉下新的到新的服务器。