Puppet 无法将事实发送给 Foreman - “tlsv1 alert unknown ca”

Puppet 无法将事实发送给 Foreman - “tlsv1 alert unknown 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 state = 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"

希望这样可以达到目的。

相关内容