我想知道如何手动(使用openssl而不是puppet ca命令)创build可以由Puppet使用的CA? 目标是创build这样的CA,将其部署到多个puppetmasters上,而不是通过puppet cert命令在其上创build证书。
任何想法如何做到这一点? 我只能find这样的东西: https ://wiki.mozilla.org/ReleaseEngineering/PuppetAgain/HowTo/Set_up_a_standalone_puppetmaster但它没有工作 – 在创buildCA和客户端证书并将其应用到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
代理程序未使用预生成的客户端证书。 它创build了一个CSR(用一个新的密钥),所以主人不会信任代理。
确保find的文件
`puppet agent --configprint ssldir`/{certs,private_keys}/`puppet agent --configprint certname`
和你预先生成并放在你主人身上的那些相同。 (主人不应该收到代理人私钥的副本。)
我不知道为什么你需要一个生成证书的脚本? 一旦傀儡产生了只要你有客户(代理)应该是有利的证书。 除非您删除了客户端并使用相同的主机名创build新的客户端计算机。 如果你运行木偶,它会抱怨说有私钥不匹配。 相反,如果你不需要客户端(例如,你正在重新安装操作系统或者重新创build一个虚拟机),那么你应该在puppetmaster上清除puppet服务器上的puppet cert clean test
。
请引用这个URL。 这个url可能会帮助你解决问题https://docs.puppet.com/puppet/5.0/ssl_regenerate_certificates.html