【发布时间】:2020-08-06 19:18:45
【问题描述】:
尝试从 puppet 代理节点运行以下命令时:
puppet agent --test --verbose
提示如下错误
错误:证书验证失败 [无法获取 CN=puppetmaster.example.com 的本地颁发者证书]
我已经在 /etc/hosts 文件中将 FQDN 添加到我的主机。
【问题讨论】:
标签: puppet configurationmanager puppet-enterprise
尝试从 puppet 代理节点运行以下命令时:
puppet agent --test --verbose
提示如下错误
错误:证书验证失败 [无法获取 CN=puppetmaster.example.com 的本地颁发者证书]
我已经在 /etc/hosts 文件中将 FQDN 添加到我的主机。
【问题讨论】:
标签: puppet configurationmanager puppet-enterprise
要添加到@shubham-singh 答案,在某些系统上,ssl 目录可能不在/etc/puppetlabs/puppet/ 中。
你可以运行:
sudo find / -name puppet.conf
找到puppet.conf文件并在puppet.conf中查找ssldir属性的值,然后删除/重命名ssl目录并重新运行:
puppet agent --test
重新运行可能会给您错误并要求在服务器和代理上运行其他命令以清除证书。
按照命令执行,然后重新运行:
puppet agent --test
它现在应该可以工作了。
编辑: 如果您仍然遇到问题,可能是由于服务器和代理上的 puppet 版本不同。在 master 和 agent 上使用以下命令检查 puppet 版本,并确保版本匹配。
puppet --version
【讨论】:
我在这个问题上绕了一圈——我使用的是标准的 Ubuntu 存储库,刚刚在我的客户端机器上安装了 puppet.... 我的 docker puppetmaster 运行的是 6.14,但我从标准 Ubuntu 世界中提取的代理是第 5 版。我相信您会知道下面的内容会将 puppetlabs 添加到您的存储库中,然后安装最新的第 6 版代理。
wget https://apt.puppetlabs.com/puppet6-release-bionic.deb
sudo dpkg -i puppet6-release-bionic.deb
sudo apt update
sudo apt install puppet-agent
我看到的任何 puppet 证书类型错误的所有答案都只是说重新生成您的证书,我找不到任何可以提供进一步帮助的东西。
我建议在我体验后检查您的服务器和客户端版本是否匹配!
【讨论】:
我删除了 puppet 目录中的 SSL 文件夹,之后一切正常。
rm -rf /etc/puppetlabs/puppet/ssl/
puppet agent --test --verbose
您可以使用命令检查您的日志
journalctl -u puppet
【讨论】: