Imansible call segno: Imansible trovare la richiesta di certificato per il burattino

Sto iniziando con il burattino su ec2 utilizzando la guida seguente.

https://help.ubuntu.com/12.04/serverguide/puppet.html

  • Tenere vivo il timeout non rispettato su Amazon ELB
  • Come faccio a cambiare la coppia di chiavi di un'istanza AWS se ho perso il mio file PEM?
  • Soluzione per il sito PHP / MySQL caricamento rapido in più regioni
  • come SSH a EC2 senza usare esplicitamente il tasto pem?
  • Posso utilizzare i nuovi certificati AWS gratuiti SSL / TLS senza ELB o Beanstalk sul semplice EC2?
  • Terminare un alto volume di connessioni SSL in modo efficace su EC2
  • Nell'ultimo passaggio quando cerco di firmare il cliente del burattino dal maestro di burattini, ottengo il seguente errore

    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 

    Ecco l'output di /etc/hosts sul 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 

    Ecco l'output di /etc/hosts nel client fantoccio

     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 

    Ho seguito i consigli di risoluzione dei problemi qui https://serverfault.com/a/388973/85577

    Il maestro è in esecuzione?

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

    L'hostname 'puppet' o 'puppet.abc.com' risolve dall'agente?

    Come controllerei questo? Faccio semplicemente telnet a puppetmaster sulla port 8140 (il command host non lo risolve ma il command telnet fa)?

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

    La port TCP 8140 sul master è raggiungibile dall'agente (prova: 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 '^]'. 

    Che cosa dice syslog sull'agente?

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

    Provare l'agente del burattino – provare l'agente che cercherà di connettersi al master e rimanere in primo piano per mostrare l'output.

     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 

    EDIT

    Grazie dawud quindi le voci in /etc/hosts sono corrette per questo command

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

    tuttavia quando provo questo ho un errore

     $ puppet agent --test --waitforcert 5 err: Could not request certificate: Connection refused - connect(2) err: Could not request certificate: Connection refused - connect(2) 

    3 Solutions collect form web for “Imansible call segno: Imansible trovare la richiesta di certificato per il burattino”

    Verificare che sia il padrino che la macchina client possano risolvere il FQDN del burattinaio. Per far funzionare questo, è necessario aggiungere l'IP del puppetmaster ai tuoi /etc/hosts in entrambe le macchine, quindi controllarlo utilizzando:

    $ ping puppetmaster o $ getent hosts puppetmaster

    Controllare che sia ansible raggiungere il padrone di casa dalla macchina client

    $ telnet puppetmaster 8140

    Se si ottiene la connessione rifiutata dal server, verificare che la port sia aperta nel padrone

    # iptables -L -n -v

    Oppure aggiungere una regola per consentire il traffico in entrata a quella port (dipende da come è iptables già configurato)

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

    E correre dal cliente

    # puppet agent --test --waitforcert 5

    Successivamente, dal padrino

    # puppet cert list

    mostrerà il cert pronto per essere firmato, è ansible verificare che appartiene alla macchina client confrontando l'impronta digitale. Firma:

    # puppet cert sign $client

    Puppetmaster compilerà un catalogo per il cliente e puoi seguire come viene applicato nella console client.

    Per rigenerare i certificati sul burattinaio, arrestare il ppuppetmaster e

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

    Quando si avvia nuovamente il burattinaio, esso rigenera il certificato per te.

    Sul lato client, è sufficiente rimuovere i conttents del ssldir, di solito /var/lib/puppet/ssl , ma verificare come sopra, la prossima volta che si richiama

    # puppet agent --test --waitforcert 5

    sarà ricreato.

    Alla fine, controlla la CN del certificato del padrone di casa con

    # puppet cert list --all

    e corrispondere a uno qualsiasi dei nomi / nomi ALT alla voce nei / etc / hosts.

    Una delle cose notate in discussione qui e non menzionata in precedenza è la risposta che a volte i porti possono comportrsi stranamente. Nel mio caso, a dispetto di avere la port 8140 aperta in iptables, stavo ottenendo errori di non essere in grado di connettersi. Quello che mi ha aiutato è seguire i comandi:

     iptables -F service service iptables save 

    Naturalmente usare sudo se il command precedente non è riuscito con il tuo utente. Ho anche aggiunto i due comandi sopra descritti nello script di provisioning della casella in modo che se interrompere / ricreare le caselle – i iptables sono sciacquati.

    Ho affrontato le stesse problematiche e ho risolto con alcune modifiche diverse.

    Stesso errore:

     [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 

    Ho provato each cosa Iptables, porte, firewall, agent-reinstallation (non master). Poi ho iniziato a guardare più e trovato qualcosa nei file di log come:

     I, [2016-04-27T23:21:55.118997 #1745] INFO -- : activemq.rb:139:in `on_ssl_connecting' Establishing SSL session with stomp+ssl://mcollective@yogesh.puppet.com:61613 E, [2016-04-27T23:21:55.131678 #1745] ERROR -- : activemq.rb:149:in `on_ssl_connectfail' SSL session creation with stomp+ssl://mcollective@yogesh.puppet.com: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://mcollective@yogesh.puppet.com: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://mcollective@yogesh.puppet.com:61613 E, [2016-04-27T23:22:25.144644 #1745] ERROR -- : activemq.rb:149:in `on_ssl_connectfail' SSL session creation with stomp+ssl://mcollective@yogesh.puppet.com: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://mcollective@yogesh.puppet.com:61613 failed on attempt 37 

    Questo mi ha dato l'indicazione dei certificati presenti sul server master. Ho ricreato la chiave master ed ho lavorato per me.

    Attenzione: questo è stato l'unico ambiente di prova per me, non giocare con esso direttamente negli ambienti di produzione.

     [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 ha risolto il problema di connessione client.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.