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.
masterhost.domain.com
es el mismo que hostname.domain.com
en su pregunta, ¿verdad? Probemos esto, veremos si los certificados se verifican manualmente; ejecutar openssl 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 ejecutar openssl 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?