Mam skonfigurowanego Puppet Master / Agent i pomyślnie podpisałem certyfikat agenta na master. Jednak po uruchomieniu puppet agent --test
pojawia się błąd, który wygląda następująco:
Warning: Unable to fetch my node definition, but the agent run will continue:
Warning: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed: [certificate signature failure for /CN=hostname.domain.com]
Info: Retrieving plugin
Error: /File[/var/lib/puppet/lib]: Failed to generate additional resources using 'eval_generate: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed: [certificate signature failure for /CN=hostname.domain.com]
Error: /File[/var/lib/puppet/lib]: Could not evaluate: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed: [certificate signature failure for /CN=hostname.domain.com] Could not retrieve file metadata for puppet://hostname.domain.com/plugins: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed: [certificate signature failure for /CN=hostname.domain.com]
Error: Could not retrieve catalog from remote server: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed: [certificate signature failure for /CN=hostname.domain.com]
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run
Error: Could not send report: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed: [certificate signature failure for /CN=hostname.domain.com]
hostname.domain.com
jest panem
Jak to naprawić? Upewniłem się, że oba zegary są we właściwym czasie w tej samej strefie czasowej, usunąłem wszystko z /var/lib/puppet/ssl
katalogu agenta i zrezygnowałem, nie wiem, co jeszcze zrobić.
debian
ssl
puppet
puppetmaster
puppet-agent
John Smith
źródło
źródło
masterhost.domain.com
jest to samo, cohostname.domain.com
w twoim pytaniu, prawda? Spróbujmy tego, zobaczymy, czy certyfikaty weryfikują się ręcznie; uruchomopenssl s_client -connect masterhost.domain.com:8140 -showcerts
i skopiuj dane certyfikatu (zaczyna się od-----BEGIN CERTIFICATE-----
, dołącz tę linię i końcową linię certyfikatu) do nowego pliku, a następnie uruchomopenssl verify -CAfile /var/lib/puppet/ssl/certs/ca.pem /path/to/file/from/last/command
i sprawdź, czy to zweryfikuje.-showcerts
z zawartością/var/lib/puppet/ssl/certs/ca.pem
- powinny być identyczne?Odpowiedzi:
Ponownie utwórz całą konfigurację certyfikatu klienta. To zawsze naprawiało wszelkie problemy z certyfikatem, które napotkaliśmy w przeszłości. Poniższa instrukcja zakłada, że nazwa hosta Twojego agenta to agenthost.nazwahosta.com
Na kliencie usuń wszystkie przechowywane certyfikaty, w tym urząd certyfikacji:
W systemie głównym usuń wszelkie oczekujące CSR lub stare certyfikaty klienta dla tego klienta:
Następnie na kliencie ponownie połącz się z urządzeniem głównym i wyślij CSR:
a kiedy czeka (jeśli nie włączono automatycznego podpisywania), to na urządzeniu głównym zatwierdzamy CSR, aby nowy certyfikat klienta został odesłany:
Powinno to skłonić agenta do ponownego pobrania certyfikatów marionetkowego urzędu certyfikacji i ponownego złożenia wniosku o własny certyfikat.
W przeszłości musieliśmy stosować tę procedurę, kiedy zmieniliśmy serwery lalek i zmieniły się certyfikaty CA, lub kiedy przebudowaliśmy hosta o tej samej nazwie.
Upewnij się, że agent zna swoją prawdziwą, w pełni kwalifikowaną nazwę hosta; użyj polecenia „nazwa hosta”, aby upewnić się, że jest to zgodne z oczekiwaniami.
źródło
puppet cert clean ‘agentName’
działa dla mnie. RHEL Marionetkowego Enterprise SSL lokalizacja:/etc/puppetlabs/puppet/ssl
. Zsynchronizowałem czas między Mistrzem a Agentem.Mam podobny problem. Stworzyłem włóczęgowskie środowisko z jednym marionetkiem i kilkoma klientami. Problem polega na tym, że kiedy niszczę i tworzę puppetmastera, klienci wykrywają nowego puppetmastera jako oszusta.
Usunięcie
/etc/puppet/ssl
klienta rozwiązuje problem.Pamiętaj, że twoja konfiguracja ssl zostanie zbuforowana, więc wymagane jest zrestartowanie mastera marionetek , jeśli zdecydujesz się usunąć również
/etc/puppet/ssl
na tym hoście:źródło
service puppetserver restart
naprawiono to dla mnie