我是 puppet 的新手,我正在尝试连接到我的 puppet 服务器,当我 ping 到我的 puppetmaster 时它运行良好,但是当我运行 puppetd --test t 时显示以下错误。
puppetd --test info: 为 neeraj-aspire-5738 创建新的 SSL 密钥 err: 无法请求证书:连接被拒绝 - connect(2) 退出;无法检索证书且 waitforcert 已被禁用
我已经在我的 ubuntu 12.10 发行版上安装了 puppetmaster 以及 puppet(作为客户端)
我对 Puppet 中的命令了解不多,所以请告诉我你需要的任何命令输出
答案1
代理没有签名的证书。
首次调用此命令时,代理会向 puppetmaster 发送证书请求。如果命令运行时带有参数,--waitforcert 20
则代理将等待,直到其证书请求由 puppetmaster 签名,两次尝试之间间隔 20 秒。
在运行 puppetmaster 的服务器上,您必须签署他的请求,例如使用命令:
puppet cert --all sign
还要确保在“/etc/puppet/puppet.conf”中指定了服务器主机名
[main]
server = puppet.example.com
新版本放弃了该命令并改用puppet agent --test
。
为了测试目的,您可以启用自动签名,但通常是不安全的。
[main]
autosign = true
答案2
我自己从未使用过 Puppet,但在快速搜索后发现了这一点:
修复方法是将 openssl certs 目录中的“散列”链接放入代理计算机上的 CA 证书中。因此,如果您尚未将 ca.pem 或 ca_crt.pem 文件复制到代理主机,这是您的第一步。
openssl 版本 -d
[将为您提供基本 openssl 目录]
openssl x509 -hash -noout -in /etc/puppet/ssl/certs/ca.pem
[将为您提供 CA 证书哈希...类似 520f3686]
进入您从上面收到的 openssl 目录,并在 certs 目录中创建指向您的 CA 证书文件的“散列”链接。
ls -al /etc/pki/tls/certs/520f3686.0
lrwxrwxrwx 1 root root 29 六月 22 02:21 /etc/pki/tls/certs/520f3686.0 -
/etc/puppet/ssl/ca/ca_crt.pem
请注意,创建链接时,哈希末尾会添加“.0”。
从:https://groups.google.com/forum/#!topic/puppet-users/-knxubNs6sY
答案3
尝试运行以下命令
puppet master --no-daemonize --verbose
再次尝试从客户端生成证书