Ich frage mich, wie man manuell (mithilfe von openssl anstelle des Befehls puppet ca) eine Zertifizierungsstelle erstellt, die von Puppet verwendet werden kann. Das Ziel wäre die Skripterstellung solcher Zertifizierungsstellen, um sie auf mehreren Puppenmeistern bereitzustellen, anstatt dass Zertifikate über den Befehl puppet cert auf ihnen erstellt werden.
Irgendwelche Ideen, wie es geht? Ich konnte nur so etwas finden: https://wiki.mozilla.org/ReleaseEngineering/PuppetAgain/HowTo/Set_up_a_standalone_puppetmaster, aber es funktioniert nicht - nachdem CA- und Client-Zertifikat erstellt und auf Puppetmaster angewendet wurden, beschwert es sich mit:
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
Verhau mich
quelle
quelle
puppet cert generate
?Antworten:
Der Agent verwendet das vorgenerierte Client-Zertifikat nicht. Stattdessen wurde eine CSR (mit einem neuen Schlüssel) erstellt, sodass der Master dem Agenten nicht vertraut.
Stellen Sie sicher, dass die Dateien in
Sie sind identisch mit denen, die Sie vorgeneriert haben und die Sie auch Ihrem Meister angelegt haben. (Der Master sollte keine Kopie des privaten Schlüssels des Agenten erhalten.)
quelle
Ich weiß nicht, warum Sie jemals ein Skript benötigen würden, das Zertifikate generiert? Sobald Puppet das Zertifikat erstellt hat, sollte es gültig sein, solange Sie den Kunden (Agenten) haben. Es sei denn, Sie haben den Client entfernt und einen neuen Client-Computer mit demselben Hostnamen erstellt. Wenn Sie Marionette laufen lassen, wird es sich beschweren, dass es private Schlüsselinkongruenz gibt. Stattdessen sollten Sie das Zertifikat auf dem Puppet-Server löschen, wenn Sie den Client nicht benötigen (z. B. wenn Sie das Betriebssystem neu installieren oder eine virtuelle Maschine neu
puppet cert clean test
erstellen).quelle
Bitte verweisen Sie auf diese URL. Diese URL hilft möglicherweise bei der Lösung Ihres Problems mit https://docs.puppet.com/puppet/5.0/ssl_regenerate_certificates.html
quelle