Tengo configurado un Puppet Master / Agent, y he firmado con éxito el certificado del agente en el master. Sin embargo, cuando corro puppet agent --test
me sale un error que se ve así:
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]
el hostname.domain.com
es el maestro
¿Cómo puedo solucionar esto? Me aseguré de que ambos relojes estén en el momento correcto en la misma zona horaria, eliminé todo en el /var/lib/puppet/ssl
directorio de agentes y renuncié, no sé qué más hacer.
debian
ssl
puppet
puppetmaster
puppet-agent
John Smith
fuente
fuente
masterhost.domain.com
es el mismo quehostname.domain.com
en su pregunta, ¿verdad? Probemos esto, veremos si los certificados se verifican manualmente; ejecutaropenssl s_client -connect masterhost.domain.com:8140 -showcerts
y copiar los datos del certificado (comienza con-----BEGIN CERTIFICATE-----
, incluir esa línea y la línea final del certificado) en un nuevo archivo, luego ejecutaropenssl verify -CAfile /var/lib/puppet/ssl/certs/ca.pem /path/to/file/from/last/command
y ver si se verifica.-showcerts
con el contenido de/var/lib/puppet/ssl/certs/ca.pem
- ¿deberían ser idénticos?Respuestas:
Vuelva a crear la configuración completa del certificado del cliente. Esto siempre ha solucionado cualquier problema de certificación que hayamos experimentado en el pasado. La siguiente instrucción asume que el nombre de host de su agente es agenthost.hostname.com
En el cliente, elimine todos los certificados almacenados, incluida la CA:
En el maestro, elimine cualquier CSR pendiente o certificado de cliente antiguo para este cliente:
Luego, en el cliente, vuelva a conectarse al maestro y envíe una CSR:
y cuando está esperando (si no ha configurado la firma automática habilitada), en el maestro apruebe la CSR para que se envíe un nuevo certificado de cliente:
Esto debería hacer que el agente vuelva a descargar los certificados de la marioneta CA y vuelva a solicitar su propio certificado.
Tuvimos que usar este procedimiento en el pasado cuando cambiamos los servidores de títeres y los certificados de CA cambiaron, o cuando reconstruimos un host con el mismo nombre de host.
Asegúrese de que su agente conozca su verdadero nombre de host totalmente calificado; use el comando 'hostname' para asegurarse de que es lo que espera que sea.
fuente
puppet cert clean ‘agentName’
funciona para mí. RHEL Títeres Empresa SSL ubicación:/etc/puppetlabs/puppet/ssl
. Y he sincronizado el tiempo entre Master y Agent.Tengo un problema similar. He creado un entorno vagabundo con un puppetmaster y varios clientes. El problema es que cuando destruyo y creo el puppetmaster, los clientes detectan al nuevo puppetmaster como un impostor.
Eliminar
/etc/puppet/ssl
en el cliente resuelve el problema.Recuerde que su configuración de SSL se almacenará en caché, por lo que es necesario reiniciar el Puppet Master , si decide eliminar también
/etc/puppet/ssl
en ese host:fuente
service puppetserver restart
me lo