Puppet:服务器主机名与服务器证书不匹配

Puppet: Server hostname did not match server certificate

我在两台虚拟机(一台主机和一台节点)上安装了 Puppet Enterprise。当我尝试使用 puppet agent -t 手动 运行 我的代理时,我收到错误

Server hostname '192.168....' did not match server certificate; expected one of host-192-168-.....localdomain. 

如果我 运行 通过添加 --server host-192-168.....localdomain 它可以工作,但是这样我可以手动执行此操作并且在它自己的 runInterval 之后它不起作用所以在我的人偶控制台上它说它没有反应。我想这是因为它自己得到了我前面提到的错误,所以我的主人无法从这个节点收到任何报告。

有人可以帮我解决这个问题吗?我怎样才能使我的节点代理使用正确的服务器证书名称联系主节点?

puppet.conf 来自节点: </p> <pre><code>[main] vardir = ... logdir = ... rundir = ... basemodulepath = ... user = ... group = ... archive_files = ... [agent] report = ... classfile = ... localconfig = ... graph = ... pluginsync = ... environment = ... server = 192.168.10.39 certname = 192.168.10.40 noop = true runinterval = 1800

如果我将 server = host-...(在 main 中)设置为没有任何变化。我想我不能从 [agent] 部分更改服务器,因为应该有主 ip(我相信)...

我尝试了 link 上的内容,现在我的傀儡代理 -t 在我的节点上不再执行任何操作。为了更好地理解,我发布了我的 puppet.conf 来自 master:

</p> <pre><code>[main] certname = host-192-168-10-39.localdomain vardir = /var/opt/lib/pe-puppet logdir = /var/log/pe-puppet rundir = /var/run/pe-puppet basemodulepath = /opt/alu/deploy/puppet/modules:/etc/puppetlabs/puppet.... environmentpath = /opt/alu/deploy/puppet/environments server = 192.168.10.39 user = pe-puppet group = pe-puppet archive_files = true archive_files_server = 192.168.10.39 module_groups = base+pe_only dns_alt_names = puppet [agent] report = true classfile = $vardir/classes.txt localconfig = $vardir/localconfig graph = true pluginsync = true environment = production noop = true runinterval = 1800 [master] node_terminus = classfier ca_server = host-192-168-10-39.localdomain reports = console,puppetdb storeconfigs = true storeconfigs_backend = puppetdb certname = 192-168-10-39.localdomain server = 192.168.10.39 always_cache_features = true default_manifest = /opt/alu/deploy/puppet/manifests/default.pp

puppet agent -t 错误:http://i62.tinypic.com/34ijlmu.png

不是在命令行上发出 --server,而是在代理的 puppet.conf 文件的 [main] 部分添加添加 server=...

导致此问题的原因有很多种,请列出您的 puppet.conf。

但是从顶部看,主服务器生成的证书中的名称与服务器的主机名之间似乎有些不匹配。也许在您生成证书和重新启动之间,主机名已更改,因为主机名更改有时直到重新启动后才会生效。

puppetlabs 官方文档有助于解决此问题,请遵循此link:https://docs.puppetlabs.com/guides/troubleshooting.html?_ga=1.110966791.343491524.1432986084#agents-are-failing-with-a-hostname-was-not-match-with-the-server-certificate-error-whats-wrong。它可能就像在 /etc/puppet/conf 中设置 certname 值并重新启动 master 一样简单。