Puppet no puede enviar datos a Foreman: "alerta tlsv1 desconocida ca"

Puppet no puede enviar datos a Foreman: "alerta tlsv1 desconocida ca"

He actualizado recientementeKatelloa2.2yCapatazahora a1.8.1, por lo que aparece en algún lugar de la actualización que Puppet ahora no puede comunicarse con Foreman:

> [root@virt5 ~]# puppet agent --test info: 
> Retrieving plugin <snipped>
> err: Could not retrieve catalog from remote server: Error 400 on
> SERVER: Failed when searching for node virt5: Failed to find virt5.
> via exec: Execution of '/etc/puppet/node.rb virt5' returned 1:
> warning: Not using cache on failed catalog err: Could not retrieve
> catalog; skipping run

Cuando ejecuto el mismo comando en mi titiritero veo:

[root@foreman certs]# /etc/puppet/node.rb virt5

No se pudieron enviar datos a Foreman: SSL_connect devuelto = 1 error = 0 estado = SSLv3 leer el ticket de sesión del servidor A: alerta tlsv1 ca desconocida

Intenté copiar el/etc/pki/katello/certs/katello-default-ca.crtcertificado utilizado por httpd para/etc/pki/ca-trust/source/anchors/y luego ejecutar update-ca-trust extract, pero eso no parece haber hecho la diferencia.

Estoy seguro de que me estoy perdiendo algo tonto, pero no estoy seguro de qué sería.

Respuesta1

Un error que veo aquí (que debería quedar más claro en la documentación) es que usted cree que Katello usa los certificados Puppet como Foreman, pero no es así.

En la ejecución del host Foreman/Katello:

capsule-certs-generate --capsule-fqdn "mycapsule.example.com"\ 
                       --certs-tar "~/mycapsule.example.com-certs.tar"

Donde mycapsule.example.com es tu otro titiritero.

Desempaquete ese tarball y copie el RPM del certificado "puppet-client" a su Puppet master e instálelo

Copie algunos archivos alrededor:

cp /etc/pki/katello-certs-tools/certs/*-puppet-client.crt /etc/puppet/foreman.crt
cp /etc/pki/katello-certs-tools/private/*-puppet-client.key /etc/puppet/foreman.key
cd /etc/puppet
wget https://katello.mydomain.net/pub/katello-default-ca.crt
chown puppet /etc/puppet/foreman.{crt,key} /etc/puppet/katello*

Configure su /etc/puppet/foreman.yaml así:

:url: "https://katello.mydomain.net"
:ssl_ca: "/etc/puppet/katello-default-ca.crt"
:ssl_cert: "/etc/puppet/foreman.crt"
:ssl_key: "/etc/puppet/foreman.key"

Con suerte, eso debería bastar.

información relacionada