Puppet não assina certs

5

Eu construí um testlab para fantoche, mas não funciona. Eu inicio puppet agent no nó e ele aguarda o certificado.

root:~# puppet agent --server xxxx --waitforcert 60 --test
warning: peer certificate won't be verified in this SSL session
warning: peer certificate won't be verified in this SSL session
warning: peer certificate won't be verified in this SSL session

No servidor, agora as solicitações de certificado pendentes são encontradas:

root:~# puppet cert --list                                                                                                        
root:~#

No log do masterhttpd:

root:~# tail /var/log/puppet/masterhttp.log
[2012-01-06 09:19:17] xxx - - [06/Jan/2012:09:19:17 CET] "GET /production/certificate/xx HTTP/1.1" 404 30
[2012-01-06 09:19:17] - -> /production/certificate/pgw
[2012-01-06 09:19:47] xxx - - [06/Jan/2012:09:19:47 CET] "GET /production/certificate/xx HTTP/1.1" 404 30
[2012-01-06 09:19:47] - -> /production/certificate/pgw
[2012-01-06 09:19:47] xxx - - [06/Jan/2012:09:19:47 CET] "GET /production/certificate/xx HTTP/1.1" 404 30
[2012-01-06 09:19:47] - -> /production/certificate/pgw
[2012-01-06 09:19:47] xxx - - [06/Jan/2012:09:19:47 CET] "GET /production/certificate/xx HTTP/1.1" 404 30
[2012-01-06 09:19:47] - -> /production/certificate/pgw

O arquivo de certificado não foi encontrado.

    
por Dennis Wisnia 06.01.2012 / 09:29

3 respostas

1

Eu recomendo que você inicie o agente de marionetes como

$ puppet agent --server=xxxx --test --debug

este comando lhe dará mais detalhes do porque está falhando. Além disso, você pode precisar de mais tempo para concluir.

Você também pode tentar remover o certificado dos lados, se houver (no mestre e no agente, respectivamente)

puppet --cert --clean your_machine_name

rm -rf /etc/puppet/ssl
    
por 06.01.2012 / 10:04
1

Eu tive problemas muito semelhantes quando comecei com o Puppet. A opção --server não estava sendo respeitada.

Tente adicionar uma entrada ao seu arquivo HOSTS com o nome de 'fantoche' e o IP da sua caixa mestre.

Se isso funcionar, a seguinte sintaxe funciona bem (pelo menos para a versão 2.7.5)

[main]
logdir = /var/log/puppet
rundir = /var/run/puppet
ssldir = $vardir/ssl
server = puppetmaster.yourdomain.org
pluginsync = true

[agent]
classfile = $vardir/classes.txt
localconfig = $vardir/localconfig
server = puppetmaster.yourdomain.org
listen = true
    
por 06.01.2012 / 16:10
1

Parece que você confirmou que o agente está chegando ao mestre. Bom primeiro passo.

Em seguida, como outras pessoas sugeriram, verifique se o certificado não foi assinado e se você não o perdeu:

sudo puppet cert --list --all

Se você não vê lá, eu limpo tudo e começo de novo.

Primeiro, confirme se a data e a hora nos dois servidores estão sincronizadas. Você pode forçar uma sincronização NTP com algo como ntpd -q -g , dependendo da sua distro e do cliente NTP.

Em seguida, execute um clean no mestre de marionetes:

sudo puppet cert clean <agent hostname>

No agente, limpe todos os seus arquivos SSL:

sudo rm -rf /var/puppet/ssl /var/lib/puppet/ssl/ /var/puppet/ssl 

Por fim, execute um teste:

sudo puppet agent --debug --test --server <master hostname>

Espero que, se isso não resolver o problema, isso forneça algumas dicas sobre onde procurar.

    
por 09.01.2016 / 05:27