我想知道如何手动(使用openssl代替puppet ca命令)创建可供Puppet使用的CA?目标是对此类CA进行脚本创建,以将其部署到多个puppetmasters上,而不是通过puppet cert命令在其上创建证书。
关于如何做的任何想法?我只能找到类似的内容:https : //wiki.mozilla.org/ReleaseEngineering/PuppetAgain/HowTo/Set_up_a_standalone_puppetmaster,但是它无法正常工作-在创建CA和客户端证书并将它们应用于puppetmaster之后,它抱怨:
Feb 16 09:35:20 test puppet-master[81728]: Could not prepare for execution: The certificate retrieved from the master does not match the agent's private key.
Feb 16 09:35:20 test puppet-master[81728]: Certificate fingerprint: 4F:08:AE:01:B9:14:AC:A4:EA:A7:92:D7:02:E9:34:39:1C:5F:0D:93:A0:85:1C:CF:68:E4:52:B8:25:D1:11:64
Feb 16 09:35:20 test puppet-master[81728]: To fix this, remove the certificate from both the master and the agent and then start a puppet run, which will automatically regenerate a certficate.
Feb 16 09:35:20 test puppet-master[81728]: On the master:
Feb 16 09:35:20 test puppet-master[81728]: puppet cert clean test
Feb 16 09:35:20 test puppet-master[81728]: On the agent:
Feb 16 09:35:20 test puppet-master[81728]: rm -f /var/puppet/ssl/certs/test.pem
Feb 16 09:35:20 test puppet-master[81728]: puppet agent -t
projects.puppetlabs.com/projects/1/wiki/...
—
丹尼尔吨。
谢谢,但不幸的是,它只是说出了可能,而没有说明如何做。除此以外,它指的是Puppet的较旧版本。
—
SpankMe
@SpankMe为什么不只是使用
—
Shane Madden
puppet cert generate
?
@Shane因为我必须将系统命令包装在带有Popen对象的脚本中,所以可以通过文本解析来验证它们的输出...其灵活性和“洁净性”比简单地使用openssl库要小得多,此外,还需要在服务器上安装p ,不应该安装它的位置-我只想在那里预先生成puppet的CA和客户端证书,然后将它们分发到适当的计算机上。
—
SpankMe