Puppet 4.3.2客户端节点无法通过SSL连接到Puppet服务器。

5

我刚按照官方文档中的指南进行了所有Puppet认证的清洗和再生。

然而,我在Google、SO或其他任何地方都没有找到好的线索来解决这个错误。

[vagrant@client puppet]$ hostname
client.example.com

[vagrant@client puppet]$ puppet --version
4.3.2

[vagrant@client puppet]$ sudo puppet config print vardir ssldir
vardir = /var/opt/puppetlabs/puppetserver
ssldir = /var/opt/puppetlabs/puppetserver/ssl

[vagrant@client puppet]$ sudo puppet agent --test --server=puppet.example.com
Warning: Unable to fetch my node definition, but the agent run will continue:
Warning: SSL_connect SYSCALL returned=5 errno=0 state=unknown state
Info: Retrieving pluginfacts
Error: /File[/var/opt/puppetlabs/puppetserver/facts.d]: Failed to generate additional resources using 'eval_generate': Connection reset by peer - SSL_connect
Error: /File[/var/opt/puppetlabs/puppetserver/facts.d]: Could not evaluate: Could not retrieve file metadata for puppet:///pluginfacts: SSL_connect SYSCALL returned=5 errno=0 state=unknown state
Info: Retrieving plugin
Error: /File[/var/opt/puppetlabs/puppetserver/lib]: Failed to generate additional resources using 'eval_generate': SSL_connect SYSCALL returned=5 errno=0 state=unknown state
Error: /File[/var/opt/puppetlabs/puppetserver/lib]: Could not evaluate: Could not retrieve file metadata for puppet:///plugins: SSL_connect SYSCALL returned=5 errno=0 state=unknown state
Error: Could not retrieve catalog from remote server: SSL_connect SYSCALL returned=5 errno=0 state=unknown state
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run
Error: Could not send report: SSL_connect SYSCALL returned=5 errno=0 state=unknown state

这是一个与 Ruby 通用 SSL 相关的相似错误,但我不确定如何更改 Puppet 的密码(不认为已启用)。

这篇文章似乎表明这可能是 Apache 的问题,但我不认为我在使用 Apache。

有什么想法吗?


你是否在使用puppetserver(例如,在puppet.example.com中)?如果没有,你可能实际上正在使用Apache。 - Artefacto
是的,我正在使用Puppet Server而不是旧版的Puppet Master。那么在这种情况下,我该如何解决呢? - lollercoaster
如果确实是密码问题,请检查您是否正在使用最新版本的Java以及JCA提供程序的配置(如果JCA使用本地库,则还要检查此库是否已更新)。如有疑问,请从Oracle下载最新的Java 8发行版。 - Artefacto
1个回答

4

我遇到了相同的问题。

使用以下命令检查代理服务器上的SSL目录:

sudo puppet config print ssldir

你的SSL目录可能不在 /etc/puppetlabs/puppet/ssl 下,而是在 /opt/puppetlabs 下。请从该目录中删除证书(或整个目录),然后执行另一次 Puppet 运行。


解决方案是配置位置不匹配 - ssldir和vardir的设置不应该在[main]中进行 - 在[user]和[master]部分设置适当的值就可以解决问题了。所以虽然你的解决方案在技术上并不正确,但我会给你积分,因为否则它们将被浪费。 - lollercoaster

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接