Puppet client não conecta ao master - Erro de conexão SSL

2

Instalei o mestre e o agente de marionetes na mesma máquina. Quando o cliente é iniciado, recebi a seguinte mensagem de erro.

puppet agent --server=agent.com --no-daemonize --debug



err: Could not retrieve catalog from remote server: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed.  This is often because the time is out of sync on the server or client
    
por Udara S.S Liyanage 01.06.2013 / 10:53

3 respostas

1

Tente criar uma entrada em / etc / hosts

127.0.0.1 localhost.localdomain localhost puppet

remova o argumento --server para o comando do agente fantoche.

    
por 01.06.2013 / 10:55
10

Descubra o FQDN do seu puppetmaster emitindo:

# openssl x509 -noout -subject -in /var/lib/puppet/ssl/ca/ca_crt.pem
subject= /CN=Puppet CA: host.domain.com

Compare com a saída (se houver) de:

# puppet cert list --all

Adicione uma entrada ao seu arquivo /etc/hosts apontando o IP escutando na puppetmaster port ( 8140 ):

192.168.124.2  host.domain.com host

Para descobrir qual IP usar, você precisa conhecer o processo de escuta, que é diferente se for uma instalação autônoma de puppetmaster ou apache + passenger . Você pode usar:

netstat -an | grep 8140.*LISTEN

Verifique seu arquivo /etc/puppet/puppet.conf , especificamente a entrada server= , que deve estar apontando para o FQDN descrito acima.

Não use localhost , a menos que você não queira que puppetmaster seja encontrado.

Antes de iniciar o pupppet agent , problema:

# puppet agent --test --waitforcet 2

que instrui o agente a enviar um CSR para o CA dos maestros e esperar que ele seja assinado.

Verifique usando

# puppet cert --list

O pendente para assinar o CSR. Assine:

# puppet cert sign host.domain.com

Assista ao agente fantoche receber um catálogo compilado e aplicá-lo. Depois disso, você está pronto para iniciar o agente e adicioná-lo aos scripts de inicialização.

    
por 01.06.2013 / 11:11
0

Descobri que ter o seguinte conjunto em /etc/puppet/puppet.conf para resolver um caso em que a regeneração de certs "pelo livro" ainda produzia a situação descrita no Q:

[master]
certname=masterhost.domain.com

[agent]
certname=agenthost.domain.com

(onde masterhost.domain.com é o FQDN do puppetmaster e agenthost.domain.com o mesmo para o agente)

IMO é uma maneira bastante clara de garantir que o fantoche saiba qual nome é para o mestre e qual é para o agente no caso de ter ambos executados no mesmo host, especialmente porque ter definido apenas server=masterhost.domain.com não parecia ser o suficiente para evitar conflitos.

Não encontrei a solução proposta de adicionar o DN do mestre de fantoches em /etc/hosts (já o tinha como um alias de DNS), por isso não posso dizer se isso teria ajudado no meu caso.

    
por 19.01.2016 / 12:30