Zastanawiam się, jak ręcznie (za pomocą polecenia openssl zamiast komendy puppet ca) utworzyć CA, który byłby użyteczny przez Puppet? Celem byłoby tworzenie skryptów takich urzędów certyfikacji w celu wdrożenia ich na wielu puppetmastersach zamiast tworzenia certyfikatów na nich za pomocą polecenia puppet cert.
Wszelkie pomysły, jak to zrobić? Mogłem tylko znaleźć coś takiego: https://wiki.mozilla.org/ReleaseEngineering/PuppetAgain/HowTo/Set_up_a_standalone_puppetmaster, ale to nie działa - po utworzeniu certyfikatu CA i klienta i zastosowaniu ich do puppetmaster, narzeka:
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
Daj mi klapsa
źródło
źródło
puppet cert generate
?Odpowiedzi:
Agent nie używa wstępnie wygenerowanego certyfikatu klienta. Zamiast tego utworzył CSR (z nowym kluczem), więc master nie będzie ufał agentowi.
Upewnij się, że pliki znalezione w
są identyczne z tymi, które stworzyłeś i nałożyłeś także na swojego mistrza. (Master nie powinien otrzymywać kopii klucza prywatnego agenta).
źródło
Nie wiem, dlaczego miałbyś kiedykolwiek potrzebować skryptu generującego certyfikaty? Raz marionetka wygeneruje certyfikat, który powinien być dobry tak długo, jak masz klienta (agenta). Chyba że usunąłeś klienta i nie utworzyłeś nowego komputera klienckiego z tą samą nazwą hosta. Jeśli uruchomisz marionetkę, narzeka, że występuje niedopasowanie klucza prywatnego. Zamiast tego powinieneś wyczyścić certyfikat na serwerze lalek, ilekroć nie potrzebujesz klienta (np
puppet cert clean test
. Podczas ponownej instalacji systemu operacyjnego lub odtwarzania maszyny wirtualnej) w programie puppetmaster.źródło
Proszę odnieść się do tego adresu URL. ten adres URL może pomóc w rozwiązaniu problemu https://docs.puppet.com/puppet/5.0/ssl_regenerate_certificates.html
źródło