木偶客户端没有连接到主 – SSL连接错误

我把puppet master和agent安装在同一台机器上。 当客户端启动时,我收到以下错误消息。

puppet agent --server=agent.com --no-daemonize --debug err: Could not retrieve catalog from remote server: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed. This is often because the time is out of sync on the server or client 

尝试在/ etc / hosts中input一个条目

 127.0.0.1 localhost.localdomain localhost puppet 

删除puppet agent命令的--server参数。

找出你的傀儡大师的FQDN发出:

 # openssl x509 -noout -subject -in /var/lib/puppet/ssl/ca/ca_crt.pem subject= /CN=Puppet CA: host.domain.com 

与以下输出(如果有)进行比较:

 # puppet cert list --all 

/etc/hosts文件中添加一个条目,指向在puppetmaster端口( 8140 )中侦听的IP:

 192.168.124.2 host.domain.com host 

为了找出使用哪个IP,你需要知道进程监听,如果这是一个独立的puppetmasterapache + passenger安装,那么这个监听是不同的。 您可以使用:

 netstat -an | grep 8140.*LISTEN 

检查你的/etc/puppet/puppet.conf文件,特别是server= entry,它应该指向上面描述的FQDN。

不要使用localhost ,除非你不想find这个puppetmaster

在启动pupppet agent之前,请发出:

 # puppet agent --test --waitforcet 2 

指示代理人向傀儡CA发送CSR并等待签名。

检查使用

 # puppet cert --list 

待签署CSR。 签字:

 # puppet cert sign host.domain.com 

观看木偶代理收到编译的目录并应用它。 之后,您就可以启动代理并将其添加到启动脚本中。

我发现在/etc/puppet/puppet.conf设置了以下/etc/puppet/puppet.conf来解决“按本书”重新生成证书的情况,仍然产生了Q:

 [master] certname=masterhost.domain.com [agent] certname=agenthost.domain.com 

(其中masterhost.domain.commasterhost.domain.com的FQDN,agenthost.domain.com与agenthost.domain.com的相同)

海事组织这是相当明确的方式,确保木偶知道哪个名字是主人,哪些是代理人在同时运行在同一个主机的情况下,特别是刚刚设置server=masterhost.domain.com没有似乎足以避免冲突。

我没有find在/etc/hosts中添加puppetmaster的DN的build议(我已经把它作为一个DNS别名了),所以我不能说这对我的情况是否有帮助。