J'ai un maître/agent de marionnettes configuré et j'ai signé avec succès le certificat de l'agent sur le maître. Cependant, quand je courais puppet agent --test
Je reçois 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]
les hostname.domain.com
est le maître
Comment puis-je réparer ça? Je me suis assuré que les deux horloges sont à la bonne heure dans le même fuseau horaire, j'ai tout supprimé dans l'agent /var/lib/puppet/ssl
Répertoire et démissionné, je ne sais pas quoi faire d'autre.
Re-Créez l'ensemble de la configuration du certificat client. Cela a toujours corrigé les problèmes de certificats de certification que nous avons connus dans le passé. L'instruction suivante suppose que votre nom d'hôte de votre agent est agenthost.hostname.com
Sur le client, supprimez toutes les certs stockées, y compris la CA:
find /var/lib/puppet/ssl -name '*.pem' -delete
Sur le maître, supprimez tout certificat de CSRS en attente de CSRS ou d'anciens clients pour ce client:
find /var/lib/puppet/ssl -name agenthost.domain.com.pem -delete
Ensuite, sur le client, reconnectez-vous au maître et envoyez un CSR:
puppet agent -t --waitforcert=60
et quand il attend (si vous n'avez pas défini d'autosignage activé), alors sur le maître approuve le CSR afin qu'un nouveau client est renvoyé:
puppet cert sign agenthost.domain.com
Cela devrait rendre l'agent à télécharger les certificats CA Puppet CA et réappliquer pour son propre certificat.
Nous avons dû utiliser cette procédure dans le passé lorsque nous avons changé des serveurs de marionnettes et que les certificats CA ont changé, ou lorsque nous avons reconstruit un hôte avec le même nom d'hôte.
Assurez-vous que votre agent connaît son nom d'hôte réel entièrement qualifié; Utilisez la commande "nom d'hôte" pour vous assurer que vous vous attendez à ce que ce soit.
J'ai le même problème. J'ai mis en place un environnement vagabond avec un chef de marionnettes et plusieurs clients. Le problème est que lorsque je détruise et crée le maître de marionnettes, les clients détectent le nouveau maître de marionnettes en tant qu'imposteur.
Suppression /etc/puppet/ssl
Sur le client résout le problème.
N'oubliez pas que votre configuration SSL sera mise en cache, donc un redémarrage du Master Puppet est requis, si vous décidez de supprimer également votre /etc/puppet/ssl
sur cet hôte:
Sudo /etc/init.d/puppetmaster restart