Eu tenho um Puppet Master / Agent configurado e assinei com sucesso o certificado para o agente no master. No entanto, quando executo puppet agent --test
, recebo uma falha parecida com esta:
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]
o hostname.domain.com
é o mestre
Como faço para corrigir isso? Verifiquei se os dois relógios estão no horário correto no mesmo fuso horário, apaguei tudo no /var/lib/puppet/ssl
diretório do agente e renunciei, não sei mais o que fazer.
masterhost.domain.com
é o mesmo que hostname.domain.com
na sua pergunta, certo? Vamos tentar isso, veremos se os certificados são verificados manualmente; execute openssl s_client -connect masterhost.domain.com:8140 -showcerts
e copie os dados do certificado (começa com -----BEGIN CERTIFICATE-----
, inclua essa linha e a linha final do certificado) em um novo arquivo, execute openssl verify -CAfile /var/lib/puppet/ssl/certs/ca.pem /path/to/file/from/last/command
e verifique se ele é verificado.
-showcerts
com o conteúdo de /var/lib/puppet/ssl/certs/ca.pem
- eles devem ser idênticos?