Je me demande comment créer manuellement (en utilisant openssl au lieu de la commande ca puppet) une CA qui serait utilisable par Puppet? Le but serait de créer un script pour ces CA afin de les déployer sur plusieurs puppetmasters, au lieu de créer des certificats via la commande puppet cert.
Des idées sur la façon de le faire? Je n'ai pu trouver que quelque chose comme ça: https://wiki.mozilla.org/ReleaseEngineering/PuppetAgain/HowTo/Set_up_a_standalone_puppetmaster mais cela ne fonctionne pas - après avoir créé CA et client cert et les avoir appliqués à puppetmaster, il se conforme à:
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
ssl
puppet
certificate
openssl
SpankMe
la source
la source
puppet cert generate
?Réponses:
L'agent n'utilise pas le certificat client prégénéré. Il a créé un CSR (avec une nouvelle clé) à la place, donc le maître ne fera pas confiance à l'agent.
Assurez-vous que les fichiers trouvés dans
sont identiques à celles que vous avez prégénérées et que vous mettez également sur votre maître. (Le maître ne doit pas recevoir de copie de la clé privée de l'agent.)
la source
Je ne sais pas pourquoi auriez-vous besoin d'un script qui génère des certificats? Une fois la marionnette génère le certificat qui devrait être valable tant que vous avez le client (agent). Sauf si vous avez supprimé le client et créé une nouvelle machine cliente avec le même nom d'hôte. Si vous exécutez une marionnette, il se plaindra en disant qu'il y a une incompatibilité de clé privée. Au lieu de cela, vous devez nettoyer le certificat sur le serveur de marionnettes chaque fois que vous n'avez pas besoin du client (par exemple, vous réinstallez le système d'exploitation ou
puppet cert clean test
recréez une machine virtuelle) avec sur puppetmaster.la source
Veuillez consulter cette URL. cette URL peut aider à résoudre votre problème https://docs.puppet.com/puppet/5.0/ssl_regenerate_certificates.html
la source