Não foi possível chamar o sinal: não foi possível encontrar o pedido de certificado para o fantoche

6

Estou começando com o fantoche no ec2 usando o seguinte guia.

link

No último passo, quando tento assinar o cliente de marionetes do mestre de marionetes, recebo o seguinte erro

root@ip-10-248-27-66:/home/ubuntu# puppetca --sign ec2-54-245-56-210.us-west-2.compute.amazonaws.com
err: Could not call sign: Could not find certificate request for ec2-54-245-56-210.us-west-2.compute.amazonaws.com

Aqui está a saída de /etc/hosts no puppetmaster

127.0.0.1 localhost puppetmaster
10.248.34.162 ec2-54-245-56-210.us-west-2.compute.amazonaws.com puppet

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Aqui está a saída de /etc/hosts no cliente de marionetes

127.0.0.1 localhost
10.248.27.66 ec2-50-112-220-110.us-west-2.compute.amazonaws.com puppetmaster

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Eu segui o conselho de solução de problemas aqui link

O mestre está executando?

root@ip-10-248-27-66:/home/ubuntu# service puppetmaster status
 * master is running

O nome do host 'puppet' ou 'puppet.abc.com' é resolvido pelo agente?

Como eu verificaria isso? Eu simplesmente telnet para puppetmaster na porta 8140 (o comando do host não resolve, mas o comando telnet faz)?

root@ip-10-248-34-162:/home/ubuntu# host puppetmaster
Host puppetmaster not found: 3(NXDOMAIN)

A porta TCP 8140 no mestre está acessível pelo agente (tente: telnet puppet 8140)?

root@ip-10-248-34-162:/home/ubuntu# telnet puppetmaster 8140
Trying 10.248.27.66...
Connected to ec2-50-112-220-110.us-west-2.compute.amazonaws.com.
Escape character is '^]'.

O que o syslog no agente diz?

Apr 11 17:57:41 ip-10-248-34-162 puppet-agent[3897]: Could not request certificate: getaddrinfo: Name or service not known

Tente o agente de marionetes - teste no agente, que tentará se conectar ao mestre e permanecer em primeiro plano para mostrar a saída.

root@ip-10-248-34-162:/home/ubuntu# puppet agent --test
err: Could not request certificate: getaddrinfo: Name or service not known
Exiting; failed to retrieve certificate and waitforcert is disabled

EDITAR

Obrigado dawud, então as entradas em /etc/hosts estão corretas por este comando

$ getent hosts puppetmaster
10.248.27.66 ec2-50-112-220-110.us-west-2.compute.amazonaws.com puppetmaster

no entanto, quando tento isso, recebo um erro

$ puppet agent --test --waitforcert 5
err: Could not request certificate: Connection refused - connect(2)
err: Could not request certificate: Connection refused - connect(2)
    
por user784637 11.04.2013 / 20:04

3 respostas

11

Verifique se o mestre de fantoches e a máquina do cliente podem resolver o FQDN do mestre de fantoches. Para que isso funcione, você precisa adicionar o IP do puppetmaster ao seu /etc/hosts em ambas as máquinas e, em seguida, verificá-lo usando:

$ ping puppetmaster ou $ getent hosts puppetmaster

Verifique se você pode alcançar o mestre de fantoches a partir da máquina do cliente

$ telnet puppetmaster 8140

Se a conexão for recusada pelo servidor, verifique se a porta está aberta no mestre de fantoches

# iptables -L -n -v

Ou adicione uma regra para permitir o tráfego de entrada para essa porta (isso depende de como o iptables já está configurado)

# iptables -A INPUT -p tcp --dport 8140 -m state --state NEW -j ACCEPT

E execute a partir do cliente

# puppet agent --test --waitforcert 5

Depois, do maestro

# puppet cert list

mostrará o certificado pronto para ser assinado, você pode verificar se ele pertence à máquina do cliente comparando a impressão digital. Assine:

# puppet cert sign $client

O Puppetmaster irá compilar um catálogo para o cliente e você poderá acompanhar como ele é aplicado no console do cliente.

Para regenerar os certificados no mestre de fantoches, pare o ppuppetmaster e

# find $(puppet master --configprint ssldir) -name "$(puppet master --configprint certname).pem" -delete

Quando você iniciar o puppetmaster novamente, ele irá regenerar o certificado para você.

No lado do cliente, é suficiente remover os conttents do ssldir, geralmente /var/lib/puppet/ssl , mas verifique como acima, na próxima vez que você invocar

# puppet agent --test --waitforcert 5

será recriado.

Por fim, verifique o CN do certificado do maestro com

# puppet cert list --all

e corresponde qualquer um dos nomes / nomes ALT à entrada em seu / etc / hosts.

    
por 11.04.2013 / 20:51
1

Uma das coisas observadas na discussão aqui e não mencionada anteriormente é a resposta que às vezes os portos podem se comportar de maneira estranha. No meu caso, apesar de ter a porta 8140 aberta no iptables, eu estava recebendo erros de não conseguir me conectar. O que me ajudou é seguir os comandos:

iptables -F
service service iptables save

É claro que o comando sudo if acima do uso falha com seu usuário. Inclusive adicionei os dois comandos acima no script de provisionamento da caixa para que, se eu parasse / recriasse as caixas, o iptables fosse liberado.

    
por 27.03.2015 / 07:50
0

Eu enfrentei os mesmos problemas e resolvi com alguns ajustes diferentes.

Mesmo erro:

[root@puppetclient puppet]# puppet agent --server yogesh.puppet.com
--no-daemonize --verbose Error: Could not request certificate: Connection refused - connect(2) for "yogesh.puppet.com" port 8140 Error: Could not request certificate: Connection refused - connect(2) for "yogesh.puppet.com" port 8140 Error: Could not request certificate: Connection refused - connect(2) for "yogesh.puppet.com" port 8140 Error: Could not request certificate: Connection refused - connect(2) for "yogesh.puppet.com" port 8140

Eu tentei todas as coisas, Iptables, portas, firewalls, reinstalação de agentes (não mestre). Então comecei a procurar mais e encontrei algo nos arquivos de log como:

I, [2016-04-27T23:21:55.118997 #1745]  INFO -- : activemq.rb:139:in 'on_ssl_connecting' Establishing SSL session with stomp+ssl://[email protected]:61613
E, [2016-04-27T23:21:55.131678 #1745] ERROR -- : activemq.rb:149:in 'on_ssl_connectfail' SSL session creation with stomp+ssl://[email protected]:61613 failed: SSL_CTX_use_PrivateKey: key values mismatch
I, [2016-04-27T23:21:55.132438 #1745]  INFO -- : activemq.rb:129:in 'on_connectfail' TCP Connection to stomp+ssl://[email protected]:61613 failed on attempt 36
I, [2016-04-27T23:22:25.141892 #1745]  INFO -- : activemq.rb:139:in 'on_ssl_connecting' Establishing SSL session with stomp+ssl://[email protected]:61613
E, [2016-04-27T23:22:25.144644 #1745] ERROR -- : activemq.rb:149:in 'on_ssl_connectfail' SSL session creation with stomp+ssl://[email protected]:61613 failed: SSL_CTX_use_PrivateKey: key values mismatch
I, [2016-04-27T23:22:25.144836 #1745]  INFO -- : activemq.rb:129:in 'on_connectfail' TCP Connection to stomp+ssl://[email protected]:61613 failed on attempt 37

Isso me deu a indicação de certificados presentes no servidor mestre. Eu recriou a chave mestra e funcionou para mim.

Cuidado: este foi o único ambiente de teste para mim, não toque diretamente em ambientes de produção.

[root@YogeshRaheja init.d]# puppet cert clean "yogesh.puppet.com"
Notice: Revoked certificate with serial 11
Notice: Removing file Puppet::SSL::Certificate yogesh.puppet.com at '/etc/puppetlabs/puppet/ssl/ca/signed/yogesh.puppet.com.pem'
Notice: Removing file Puppet::SSL::Certificate yogesh.puppet.com at '/etc/puppetlabs/puppet/ssl/certs/yogesh.puppet.com.pem'
Notice: Removing file Puppet::SSL::CertificateRequest yogesh.puppet.com at '/etc/puppetlabs/puppet/ssl/certificate_requests/yogesh.puppet.com.pem'
Notice: Removing file Puppet::SSL::Key yogesh.puppet.com at '/etc/puppetlabs/puppet/ssl/private_keys/yogesh.puppet.com.pem'


[root@YogeshRaheja init.d]# puppet cert generate yogesh.puppet.com
Notice: yogesh.puppet.com has a waiting certificate request
Notice: Signed certificate request for yogesh.puppet.com
Notice: Removing file Puppet::SSL::CertificateRequest yogesh.puppet.com at '/etc/puppetlabs/puppet/ssl/ca/requests/yogesh.puppet.com.pem'
Notice: Removing file Puppet::SSL::CertificateRequest yogesh.puppet.com at '/etc/puppetlabs/puppet/ssl/certificate_requests/yogesh.puppet.com.pem'


[root@YogeshRaheja init.d]# ./pe-puppetserver start
Starting pe-puppetserver:                                  [  OK  ]
[root@YogeshRaheja init.d]#
[root@YogeshRaheja init.d]#
[root@YogeshRaheja init.d]# netstat -an | grep -i listen
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN
tcp        0      0 0.0.0.0:5432                0.0.0.0:*                   LISTEN
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN
tcp        0      0 :::4433                     :::*                        LISTEN
tcp        0      0 :::8081                     :::*                        LISTEN
tcp        0      0 :::22                       :::*                        LISTEN
tcp        0      0 ::1:631                     :::*                        LISTEN
tcp        0      0 :::5432                     :::*                        LISTEN
tcp        0      0 ::1:25                      :::*                        LISTEN
tcp        0      0 :::42632                    :::*                        LISTEN
tcp        0      0 :::8140                     :::*                        LISTEN
tcp        0      0 :::61613                    :::*                        LISTEN

e resolveu o problema de conexão do cliente.

    
por 28.04.2016 / 08:33