O hostname do servidor Puppet não corresponde ao certificado - não é possível autenticar. Como desativar a autenticação de fantoches? [duplicado]

2

Estou tendo problemas em fazer com que o agente fantoche autentique o mestre.

No agente, eu fiz primeiro sudo puppet agent --test

info: Creating a new SSL key for m-agent-2
info: Caching certificate for ca
info: Creating a new SSL certificate request for m-agent-2
info: Certificate Request fingerprint (md5): 43:30:57:53:5B:20:F7:12:CD:94:59:17:12:28:68:A4

Então no mestre eu fiz sudo puppet cert list e consegui

"m-agent-2" (43:30:57:53:5B:20:F7:12:CD:94:59:17:12:28:68:A4)

Então eu fiz sudo puppet cert sign m-agent-2 , que retornou

notice: Signed certificate request for m-agent-2
notice: Removing file Puppet::SSL::CertificateRequest m-agent-2 at                 
'/var/lib/puppet/ssl/ca/requests/m-agent-2.pem'

Então eu fiz sudo puppet agent --test , que retornou

info: Caching certificate for m-agent-2
err: Could not retrieve catalog from remote server: Server hostname 'puppet' did not match server certificate; expected master-node-1
warning: Not using cache on failed catalog
err: Could not retrieve catalog; skipping run
err: Could not send report: Server hostname 'puppet' did not match server certificate; expected master-node-1

O arquivo conf contém a linha em certname = master-node-1 nas seções [main] e [master] . Eu regenerei o certificado do mestre fazendo

sudo find $(puppet master --configprint ssldir) -name "$(puppet master --configprint certname).pem" -delete   
sudo puppet master --no-daemonize --verbose

Além disso, meu arquivo / etc / hosts contém as linhas 10.20.32.10 learn.localdomain learn puppet.localdomain puppet e eu posso pingar ambos os fantoches e bonecos. aprender com o agente.

No entanto, ainda recebo o mesmo problema. Existe alguma maneira de corrigir isso. Ou desative a autenticação em fantoches todos juntos. Ambos os nós mestre e escravo estão executando o Ubuntu 12.04 e eu estou executando o fantoche 2.7.11. Qualquer ajuda é muito apreciada.

    
por Spart 15.07.2013 / 17:43

1 resposta

9

Seu cliente espera que o mestre tenha o nome do host puppet , por sua configuração server em puppet.conf - esse é o padrão, portanto, se você não tiver um server configurado, ele usará puppet . O certificado SSL do mestre deve ser válido para esse nome ou o cliente recusará a conexão.

Normalmente, o mestre gera um certificado válido para seu próprio nome de host e o puppet nome do host, usando nomes alternativos do assunto. mas ter um certname explícito no puppet.conf do mestre pode estar substituindo isso. Confirme verificando puppet cert --list master-node-1 - deve ter algo como (alt names: "puppet") exibido após a impressão digital do certificado.

Corrija isso fazendo com que seu cliente aponte para o nome do host real usando seu server config, ou tendo o certificado do servidor válido para o nome do host puppet .

    
por 15.07.2013 / 18:05