Falha na verificação do certificado do agente fantoche

10

Eu tenho um Mestre / Agente de Marionetes configurado e assinei com sucesso o certificado para o agente no mestre. No entanto, quando executo o puppet agent --test , recebo uma falha assim:

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? Eu me certifiquei de que os dois relógios estão no horário correto no mesmo fuso horário, eu deletei tudo no diretório /var/lib/puppet/ssl do agente e me demiti, não sei mais o que fazer.

    
por John Smith 12.06.2013 / 17:20

2 respostas

13

Recrie a configuração inteira do certificado de cliente. Isso sempre corrigiu qualquer problema de certificação que tenhamos experimentado no passado. A instrução a seguir assume que o nome do host do seu agente é agenthost.hostname.com

No cliente, exclua todos os certificados armazenados, incluindo o CA:

find /var/lib/puppet/ssl -name '*.pem' -delete

No mestre, exclua quaisquer CSRs pendentes ou certificados de clientes antigos para este cliente:

find /var/lib/puppet/ssl -name agenthost.domain.com.pem -delete

Em seguida, no cliente, reconecte-se ao mestre e envie um CSR:

puppet agent -t --waitforcert=60

e quando estiver aguardando (se você não tiver definido o preenchimento automático ativado), em seguida, o mestre aprovará o CSR para que um novo certificado de cliente seja enviado de volta:

puppet cert sign agenthost.domain.com

Isso deve fazer com que o agente baixe novamente os certificados de CA do fantoche e solicite novamente seu próprio certificado.

Tivemos que usar esse procedimento no passado quando alteramos os servidores de marionetes e os certificados de CA alterados ou quando reconstruímos um host com o mesmo nome de host.

Certifique-se de que seu agente saiba seu nome de host totalmente qualificado real; use o comando 'hostname' para garantir que é o que você espera que seja.

    
por 06.08.2013 / 03:26
5

Eu tenho um problema semelhante. Eu criei um ambiente vagabundo com um mestre de marionetes e vários clientes. O problema é quando eu destruo e crio o mestre de bonecos, os clientes detectam o novo mestre de marionetes como um impostor.

A exclusão de /etc/puppet/ssl no cliente resolve o problema.

Lembre-se de que sua configuração ssl será armazenada em cache, portanto, é necessário reiniciar o mestre de marionetes se você decidir também excluir seu /etc/puppet/ssl nesse host:

sudo /etc/init.d/puppetmaster restart
    
por 19.12.2013 / 13:45