意外地吊销了所有的木偶大师证书

我运行puppet cert clean --all ,认为它只会清除尚未签署的证书。 有大约300个节点依靠木偶大师。 据我所知,傀儡代理仍然在他们身上,但我认为这是因为有一个证书的caching副本的地方。

任何方式来纠正这种情况,而不必手动login到300个不同的服务器?

谢谢

编辑:我应该提到/ var / lib / puppet由于某种原因没有被备份。

如果他们还在办理登机手续,那可能是因为木偶大师没有检查CRL; 它们可能不再存在于主控制器上的证书库存中,但是它们仍然由CA签名。 撤销王牌,但撤销似乎并没有阻止他们的代理运行(validation他们不只是使用与puppet agent --testcaching目录)。

正因为如此,你应该能够做一些有创意的configurationpipe理,让他们注册新的证书 – 也许这样的事情..

 exec { 'ssl hackery': command => '/bin/mv /var/lib/puppet/ssl /var/lib/puppet/ssl_old', creates => '/var/lib/puppet/ssl_old', } 

(在单击一个主机之前,先彻底testing一下,否则你将会碰到每一个主机!)

在一个循环中login到300个不同的服务器?

 for host in `cat allmypuppetboxes`; do ssh -o ConnectTimeout=5 root@$host '/etc/init.d/puppet stop ; rm -rf /var/lib/puppet/ssl /var/lib/puppet/ssl.expired ; puppet agent --server puppet.example.com --test --waitforcert 5' done