Puppet 客户端未连接到主服务器 - SSL 连接错误

Uda*_*age 2 linux puppet ssl-certificate puppetmaster

我在同一台机器上安装了 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
Run Code Online (Sandbox Code Playgroud)

daw*_*wud 10

通过发出以下命令找出您的傀儡主人的FQDN

# openssl x509 -noout -subject -in /var/lib/puppet/ssl/ca/ca_crt.pem
subject= /CN=Puppet CA: host.domain.com
Run Code Online (Sandbox Code Playgroud)

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

# puppet cert list --all
Run Code Online (Sandbox Code Playgroud)

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

192.168.124.2  host.domain.com host
Run Code Online (Sandbox Code Playgroud)

要找出要使用的 IP,您需要知道进程侦听,这是独立的puppetmaster还是apache+passenger安装的不同之处。您可以使用:

netstat -an | grep 8140.*LISTEN
Run Code Online (Sandbox Code Playgroud)

检查您的/etc/puppet/puppet.conf文件,特别是server=应该指向上述 FQDN的条目。

不要使用localhost,除非您不想puppetmaster找到它。

在开始之前pupppet agent,发出:

# puppet agent --test --waitforcet 2
Run Code Online (Sandbox Code Playgroud)

它指示代理向 puppetmaster CA 发送 CSR 并等待它被签名。

检查使用

# puppet cert --list
Run Code Online (Sandbox Code Playgroud)

待签署CSR。签字:

# puppet cert sign host.domain.com
Run Code Online (Sandbox Code Playgroud)

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

  • @UdaraS.SLiyanage 请将答案标记为已接受以备将来参考 (2认同)