Puppet: Intentando configurar el cliente puppet para el primer uso pero tengo algunos problemas con los certificados

8

Estoy tratando de configurar mi clinet 'Itai-test' para recibir configuraciones de marionetas del servidor de marionetas que se llama 'puppetmaster'.

En el servidor que ejecuté:

[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]# 

En el cliente de marionetas corrí:

[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

Más información: en el servidor:

[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 ~]# 

En el cliente:

[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
fuente

Respuestas:

12

¿Su cliente sabe cómo encontrar el servidor?

root@client# ping puppet

¿Qué nombre de certificado usará el cliente cuando se conecte al servidor?

root@client# puppet config print certname

Eliminar los detalles de SSL en el cliente

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

Eliminar todos los rastros del cliente en el servidor

root@puppet# puppet node clean $client_certname
root@puppet# puppet node deactivate $client_certname
ptman
fuente
1
Gracias por "puppet config print certname", muy útil y no lo había visto antes.
richardkmiller
1
Gracias. De alguna manera, el certname no coincidía con mi nombre de host, lo arreglé configurando certname en puppet.conf
kqw
Los doctores se han mudado. Ver certname en puppet.conf en su lugar.
nomadic_squirrel
3

Primero: en el servidor

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

Segundo: en el cliente

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

Tercero: en el servidor

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

Además, verifique que su cliente pueda comunicarse con su [nombre de dominio de puppetmaster].

mrpatrick
fuente
He editado mi pregunta con los resultados de los comandos que mencionaste, gracias.
Itai Ganot
1

Creo que de alguna manera te desincronizaste. Suponiendo que esto sea realmente solo una instancia de prueba ... En el servidor, ejecute puppet node clean itai-test.domain. Luego, en la ejecución del cliente rm -rf /var/lib/puppet/ssl. Ahora su certificado SSL para el cliente se ha ido. Ejecute puppet agent --server puppetmaster.domain --waitforcert 60 --testen el cliente y busque la solicitud de certificado en el servidor.

Bill Weiss
fuente
Tuve el mismo problema que la operación, y esto finalmente funcionó para mí.
slec