Puppet: tentative de configuration du client de marionnettes pour la première utilisation mais a rencontré quelques problèmes avec les certificats

8

J'essaie de configurer mon clinet 'Itai-test' pour recevoir les paramètres de marionnettes du serveur de marionnettes qui s'appelle 'puppetmaster'.

Sur le serveur j'ai couru:

[root@puppetmaster requests]# puppet cert --generate itai-test.domain
Error: A Certificate already exists for itai-test.domain
[root@puppetmaster requests]# puppet cert --sign itai-test.domain
Error: Could not find certificate request for itai-test.domain
[root@puppetmaster requests]# 

Sur le client marionnette, j'ai couru:

[root@itai-test temp]# puppet agent --server puppetmaster.domain --waitforcert 60 --test
Notice: Did not receive certificate
Notice: Did not receive certificate
Notice: Did not receive certificate

Plus d'informations: Sur le serveur:

[root@puppetmaster ~]# puppet cert --revoke Itai-test
Error: Could not find a serial number for itai-test
[root@puppetmaster ~]# puppet cert --revoke itai-test
Error: Could not find a serial number for itai-test
[root@puppetmaster ~]# puppet cert --clean itai-test
Error: Could not find a serial number for itai-test
[root@puppetmaster ~]# puppet cert --list
[root@puppetmaster ~]# puppet cert --sign itai-test
Error: Could not find certificate request for itai-test
[root@puppetmaster ~]# 

Sur le client:

[root@itai-test ~]# rm -rf /usr/lib/puppet/ssl
[root@itai-test ~]# puppet agent --server puppetmaster.domain --waitforcert 60
[root@itai-test ~]# ping puppetmaster.domain
PING puppetmaster (192.168.X.X) 56(84) bytes of data.
64 bytes from puppetmaster (192.168.X.X): icmp_seq=1 ttl=64 time=0.294 ms
Itai Ganot
la source

Réponses:

12

Votre client sait-il comment trouver le serveur?

root@client# ping puppet

Quel nom de certificat le client utilisera-t-il lors de la connexion au serveur?

root@client# puppet config print certname

Supprimer les détails SSL sur le client

root@client# rm -rf /var/lib/puppet/ssl

Supprimer toutes les traces du client sur le serveur

root@puppet# puppet node clean $client_certname
root@puppet# puppet node deactivate $client_certname
ptman
la source
1
Merci pour "marionnette config print certname" - très utile et je ne l'avais jamais vu auparavant.
richardkmiller
1
Merci. D'une manière ou d'une autre, le nom de cert ne correspondait pas à mon nom d'hôte, je l'ai corrigé en définissant certname dans puppet.conf
kqw
Les documents ont déménagé. Voir plutôt certname dans puppet.conf .
nomadic_squirrel
3

D'abord: sur le serveur

puppet cert --revoke Itai-test
puppet cert --clean Itai-test

Deuxièmement: sur le client

rm -rf /usr/lib/puppet/ssl
puppet agent --server [puppetmaster domain name] --waitforcert 60

Troisième: sur le serveur

puppet cert --list (you should see your host)
puppet cert --sign Itai-test

Vérifiez également que votre client peut accéder à votre [nom de domaine puppetmaster].

mrpatrick
la source
J'ai édité ma question avec les résultats des commandes que vous avez mentionnées, merci.
Itai Ganot
1

Je pense que vous vous êtes désynchronisé d'une manière ou d'une autre. En supposant que ce n'est vraiment qu'une instance de test ... Sur le serveur, exécutez puppet node clean itai-test.domain. Ensuite, lors de l'exécution du client rm -rf /var/lib/puppet/ssl. Maintenant, votre certificat SSL pour le client a disparu. Exécutez puppet agent --server puppetmaster.domain --waitforcert 60 --testsur le client et recherchez la demande de certificat sur le serveur.

Bill Weiss
la source
J'ai eu le même problème que l'op, et cela a finalement fonctionné pour moi.
slec