Puppet 無法向 Foreman 發送事實 - “tlsv1 警報未知 ca”

Puppet 無法向 Foreman 發送事實 - “tlsv1 警報未知 ca”

我最近更新了卡泰洛2.2領班現在到1.8.1,因此在升級中的某個位置,Puppet 現在無法聯繫 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

在我的 puppetmaster 上運行相同的命令時,我看到:

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

無法將事實傳送給 Foreman:SSL_connect 回傳=1 errno=0 狀態=SSLv3 讀取伺服器會話票證 A:tlsv1 警報未知 ca

我試圖複製/etc/pki/katello/certs/katello-default-ca.crthttpd 所使用的證書/etc/pki/ca-trust/source/anchors/然後運行update-ca-trust extract,但這似乎沒有產生任何影響。

我確信我錯過了一些愚蠢的東西,我只是不確定那會是什麼。

答案1

我在這裡看到的一個錯誤(在文件中應該更清楚)是您認為 Katello 使用像 Foreman 一樣的 Puppet 證書,但事實並非如此。

在 Foreman/Katello 主機上運行:

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

其中 mycapsule.example.com 是您的另一個 Puppet master。

解壓縮該 tarball 並將「puppet-client」憑證 RPM 複製到您的 Puppet master,然後安裝它

複製一些文件:

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*

像這樣配置你的 /etc/puppet/foreman.yaml :

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

希望如此。

相關內容