web-dev-qa-db-fra.com

Certificat d'agent de marionnettes Vérifiez l'échec

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.

10
John Smith

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.

13
Steve Shipway

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
6
adrianlzt