我已经创建了一个 shell 脚本来在 /etc/puppet/autosign.sh 自动签署 Puppet 证书请求,并在 puppet master 的配置中配置了此路径。
autosign = /etc/puppet/autosign.sh
目前,我已授予所有用户对此脚本的读取和执行权限。但是,当测试客户端尝试请求证书时,我在客户端(基于云)上收到以下通知。
Exiting; no certificate found and waitforcert is disabled
服务器日志中的内容如下:
puppet-master[465]: Could not resolve xx.xx.xx.xx: no name for xx.xx.xx.xx
puppet-master[465]: Could not resolve xx.xx.xx.xx: no name for xx.xx.xx.xx
puppet puppet-master[465]: www.test.com has a waiting certificate request
puppet puppet-master[465]: Could not resolve xx.xx.xx.xx: no name for xx.xx.xx.xx
我已在 /etc/hosts 中为该 IP 和主机添加了条目,并已检查是否可以对该主机进行正向和反向查找。我不知道为什么 puppet-master 无法解析此地址,或者为什么它没有自动签名请求。我已编写自动签名脚本以写入日志文件,但什么都没有写入。当我手动执行自动签名脚本时,它会正确写入日志文件。
我在 centos 7.2 上,运行 puppet 3.8.7。我也在 foreman v1.11 下运行它。
手动签署证书请求允许 Puppet 代理正常执行。
我该如何修复这个错误?