Ich habe einen Puppet Master / Agent eingerichtet und das Zertifikat für den Agenten auf dem Master erfolgreich signiert. Beim Ausführen wird puppet agent --test
jedoch ein Fehler angezeigt, der folgendermaßen aussieht:
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]
Das hostname.domain.com
ist der Meister
Wie behebe ich das? Ich habe sichergestellt, dass beide Uhren zur richtigen Zeit in derselben Zeitzone sind. Ich habe alles im Agentenverzeichnis gelöscht /var/lib/puppet/ssl
und bin zurückgetreten. Ich weiß nicht, was ich sonst tun soll.
masterhost.domain.com
ist das gleiche wie hostname.domain.com
in Ihrer Frage, oder? Versuchen wir dies, wir werden sehen, ob die Zertifikate manuell überprüft werden. Führen Sie openssl s_client -connect masterhost.domain.com:8140 -showcerts
die Zertifikatdaten aus und kopieren Sie sie (beginnt mit -----BEGIN CERTIFICATE-----
dieser Zeile und der Endzertifikatzeile) in eine neue Datei. Führen Sie sie dann aus openssl verify -CAfile /var/lib/puppet/ssl/certs/ca.pem /path/to/file/from/last/command
und prüfen Sie, ob sie überprüft werden.
-showcerts
mit dem Inhalt von /var/lib/puppet/ssl/certs/ca.pem
- sollten sie identisch sein?