problema do nome do host do fantoche

10

Eu pesquisei on-line e vejo algumas outras pessoas tendo esse problema em outras listas / pastas. Quando executo sudo puppetd --waitforcert 60 - teste pela 2 ª vez depois de assinar o certificado no servidor mestre, recebo este erro -

notice: Got signed certificate
warning: Certificate validation failed; considering using the certname configuration option
err: /File[/var/lib/puppet/lib]: Failed to generate additional resources during transaction: Certificates were not trusted: hostname was not match with the server certificate

Não tenho certeza se entendi qual é o problema ou como corrigi-lo. Então é por isso que eu pergunto.

Estou definindo o fantoche em dois servidores na minha LAN. O mestre de fantoches é chamado 'fantoche' e o outro servidor é chamado 'puppetclient'. Eu coloquei o fantoche em / etc / hosts no puppetclient.

running hostname -f exibirá puppet e pupperclient nos respectivos servidores. Eu não tenho certeza do que mais para tentar. Alguém tem alguma ideia?

    
por quanta 28.05.2009 / 00:47

6 respostas

9

Parece que o certificado do puppetmaster foi criado quando o host recebeu um nome diferente de "fantoche". Recrie o certificado e você deve ser bom.

O nome armazenado no certificado deve corresponder ao que você configurou seu cliente para se conectar (exatamente). Por exemplo, se você configurar seu cliente para se conectar a "puppet.domain.com", você receberá um erro se o certificado for chamado de "fantoche" e vice-versa.

    
por 28.05.2009 / 01:31
6

Se você quiser usar o CNAME de DNS para o seu puppetmaster, você pode iniciar o puppetmaster usando:

puppetmaster --certname cname.domain.org

que fará com que o puppetmaster use cname.domain.org em vez do nome de domínio padrão completo.

    
por 30.05.2009 / 01:20
2

A opção --certname cname.domain.org flag pareceu ter feito o truque para mim (no Amazon EC2)

    
por 08.02.2010 / 06:08
1

você pode perguntar ao facter (facter fqdn) qual é o nome do host e ver se ele é consistente com o que você espera. Também dê uma olhada (por padrão) em / var / lib / puppet / ssl / e veja como os certs se parecem, se eles não tiverem os nomes de host corretos que podem ser o seu problema. Como o fantoche faz toda a comunicação via HTTPS, é bastante sensível à resolução e à nomeação de host.

    
por 29.05.2009 / 20:50
1

Antes de instalar o Puppet em seus clientes e servidores designados, verifique o arquivo /etc/resolv.conf e verifique se a primeira entrada do domínio na linha "search" é o domínio no qual você quer que o Puppet seja executado. Por exemplo:

pesquise my.puppetdomain.com my.public.domain.com

servidor de nomes 192.168.1.1 servidor de nomes xxx.xxx.1.1

Durante a fase de instalação do Puppet, o servidor Puppet irá gerar seus certificados com base na primeira entrada de pesquisa no /etc/resolv.conf. Descobri isso da maneira mais difícil. Se você vir erros relacionados ao certificado em qualquer nó do fantoche, execute as seguintes etapas:

1) Edite o /etc/resolv.conf e verifique se o primeiro domínio listado na linha "search" reflete o domínio no qual você deseja que o Puppet seja executado.

2) Desinstale o fantoche (deixe o diretório / etc / puppet intacto).

3) rm -rf / var / lib / puppet

4) Reinstale o Puppet (isso irá gerar um novo diretório / var / lib / puppet).

5) Se estiver fazendo isso no servidor Puppet, execute /usr/sbin/petpetmasterd --mkusers (alternativamente, execute /usr/local/sbin/ puppetmasterd --mkusers ). Isso gerará todos os arquivos necessários dentro de / var / lib / puppet, incluindo os novos certificados internos usando o nome de domínio apropriado.

6) Se estiver fazendo isso no cliente Puppet, inicie o Puppet no modo verbose, com o sinalizador --waitforcert habilitado:          puppetd -server .puppetdomain.com --waitforcert 60 - teste    Esta etapa enviará uma solicitação de certificado ao servidor Puppet.

7) No servidor Puppet, liste os certificados em espera:

puppetca --list

Você deve ver o nome do host do cliente Puppet fazendo a solicitação:

puppetclient1.puppetdomain.com

8) A partir do servidor Puppet, assine o certificado do cliente Puppet que acabou de ser listado:

puppetca - assine puppetclient1.puppetdomain.com

Então você está pronto.

HTH ....

    
por 22.09.2010 / 17:10
0

Puppet e puppetclient resolvem no DNS? Caso contrário, você pode editar o arquivo / etc / hosts para mapear os IPs e os nomes de host. IIRC, você só precisa fazer isso no cliente.

    
por 28.05.2009 / 01:09