Puppet kann keine Fakten an Foreman senden – „tlsv1 alert unknown ca“

Puppet kann keine Fakten an Foreman senden – „tlsv1 alert unknown ca“

Ich habe vor kurzem aktualisiertKatelloZu2.2UndVorarbeiterjetzt zu1.8.1, daher scheint es irgendwo im Upgrade so, als ob Puppet jetzt keine Verbindung mehr zu Foreman aufnehmen kann:

> [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

Wenn ich denselben Befehl auf meinem Puppetmaster ausführe, sehe ich:

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

Fakten konnten nicht an Foreman gesendet werden: SSL_connect hat zurückgegeben = 1 errno = 0 Status = SSLv3 Serversitzungsticket lesen A: tlsv1 Warnung unbekannt ca

Ich habe versucht, das zu kopieren/etc/pki/katello/certs/katello-default-ca.crtZertifikat, das von httpd verwendet wird, um/etc/pki/ca-trust/source/anchors/und führen Sie es dann aus update-ca-trust extract, aber das scheint keinen Unterschied gemacht zu haben.

Ich bin sicher, dass ich etwas Dummes übersehe, ich bin mir nur nicht sicher, was das sein könnte.

Antwort1

Ein Fehler, der mir hier auffällt (der in der Dokumentation klarer sein sollte), besteht darin, dass Sie glauben, Katello verwende die Puppet-Zertifikate wie Foreman, was aber nicht der Fall ist.

Auf dem Foreman/Katello-Host-Lauf:

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

Wobei mycapsule.example.com Ihr anderer Puppet-Master ist.

Entpacken Sie das Tarball, kopieren Sie das RPM des Zertifikats "puppet-client" auf Ihren Puppet-Master und installieren Sie es.

Kopieren Sie einige Dateien:

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*

Konfigurieren Sie Ihre /etc/puppet/foreman.yaml wie folgt:

: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"

Das sollte es hoffentlich tun.

verwandte Informationen