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 --test
j'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.com
est 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/ssl
répertoire des agents et j'ai démissionné, je ne sais pas quoi faire d'autre.
debian
ssl
puppet
puppetmaster
puppet-agent
John Smith
la source
la source
masterhost.domain.com
le même quehostname.domain.com
dans votre question, non? Essayons cela, nous verrons si les certificats vérifient manuellement; exécutezopenssl 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écutezopenssl verify -CAfile /var/lib/puppet/ssl/certs/ca.pem /path/to/file/from/last/command
-le et voyez s'il vérifie.-showcerts
avec le contenu de/var/lib/puppet/ssl/certs/ca.pem
- ils devraient être identiques?Réponses:
Recréez la configuration complète du certificat client. Cela a toujours résolu tous les problèmes de certification que nous avons rencontrés dans le passé. L'instruction suivante suppose que le nom d'hôte de votre agent est agenthost.hostname.com
Sur le client, supprimez tous les certificats stockés, y compris l'autorité de certification:
Sur le maître, supprimez les CSR en attente ou les anciens certificats clients pour ce client:
Ensuite, sur le client, reconnectez-vous au maître et envoyez un CSR:
et lorsqu'il attend (si vous n'avez pas activé la signature automatique activée), le maître approuve le CSR pour qu'un nouveau certificat client soit renvoyé:
Cela devrait obliger l'agent à télécharger à nouveau les certificats de CA fantoche et à réappliquer son propre certificat.
Nous avons dû utiliser cette procédure dans le passé lorsque nous avons changé de serveur de marionnettes et que les certificats de l'autorité de certification 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 véritable nom d'hôte complet; utilisez la commande 'hostname' pour vous assurer que c'est ce que vous attendez.
la source
puppet cert clean ‘agentName’
travaille pour moi. RHEL Puppet Enterprise emplacement:/etc/puppetlabs/puppet/ssl
. Et j'ai synchronisé l'heure entre le maître et l'agent.J'ai le même problème. J'ai mis en place un environnement vagabond avec un marionnettiste et plusieurs clients. Le problème est que lorsque je détruis et crée le marionnettiste, les clients détectent le nouveau marionnettiste comme un imposteur.
La 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 maître de marionnettes est nécessaire, si vous décidez de supprimer également votre
/etc/puppet/ssl
sur cet hôte:la source
service puppetserver restart
corrigé pour moi