J'ai un maître / agent de marionnettes configuré et j'ai réussi à signer le certificat de l'agent sur le maître. Cependant, lorsque je cours, puppet agent --testj'obtiens un échec qui ressemble à ceci:
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]
la hostname.domain.comest le maître
Comment puis-je réparer ça? Je me suis assuré que les deux horloges sont au bon moment dans le même fuseau horaire, j'ai tout supprimé dans le /var/lib/puppet/sslrépertoire des agents et j'ai démissionné, je ne sais pas quoi faire d'autre.
masterhost.domain.comle même que hostname.domain.comdans votre question, non? Essayons cela, nous verrons si les certificats vérifient manuellement; exécutez openssl s_client -connect masterhost.domain.com:8140 -showcerts-le et copiez les données du certificat (commence par -----BEGIN CERTIFICATE-----, incluez cette ligne et la ligne de certificat de fin) dans un nouveau fichier, puis exécutez openssl verify -CAfile /var/lib/puppet/ssl/certs/ca.pem /path/to/file/from/last/command-le et voyez s'il vérifie.
-showcertsavec le contenu de /var/lib/puppet/ssl/certs/ca.pem- ils devraient être identiques?