我的傀儡配置在这里遇到了一个相当奇怪的麻烦。
在客户端和服务器(debian-squeeze)上,使用相同版本的puppet,时钟同步。
一切都很顺利,直到我决定安装 puppet-dashboard,我不知道在哪一步导致了失败,但症状如下:
客户端和服务器之间没有证书;我在客户端创建并通过以下命令将其发送到服务器:
puppetd --test --waitforcert 50
在服务器端:
root@puppet:/var/lib/puppet/ssl# puppetca --list --all
dev.goeland.lan (53:C8:AE:21:F0:64:FC:B8:7C:AD:7F:7A:1C:80:B0:4C)
root@puppet:/var/lib/puppet/ssl# puppetca -s dev.goeland.lan
notice: Signed certificate request for dev.goeland.lan
notice: Removing file Puppet::SSL::CertificateRequest dev.goeland.lan at '/var/lib/puppet/ssl/ca/requests/dev.goeland.lan.pem'
root@puppet:/var/lib/puppet/ssl# puppetca --list --all
+ dev.goeland.lan (FC:1A:E5:1F:D7:A3:C4:4A:B6:1A:7F:C6:4A:6E:07:55)
root@puppet:/var/lib/puppet/ssl#
首先,我不明白指纹为什么会改变:在签名之前,证书是 *:4C,然后变成了 *.55。也许这是正确的行为?
然后,从客户端:
root@dev:/var/lib/puppet/ssl# puppetd --test
warning: peer certificate won't be verified in this SSL session
info: Caching certificate for dev.goeland.lan
err: Could not retrieve catalog from remote server: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
warning: Not using cache on failed catalog
err: Could not retrieve catalog; skipping run
root@dev:/var/lib/puppet/ssl#
客户端拒绝服务器证书,而它刚刚在上一步中被签署!
有人能帮我吗?
多谢!
答案1
第一个指纹是请求的指纹。这应该与客户端的指纹相匹配,Puppet 在较新的版本中也会打印该指纹。
puppetca 签署请求后会将其删除(您可以在输出中看到它),第二个指纹是签署请求的指纹。
不断变化的指纹不是您遇到的问题。最有可能的是两台机器的时钟不同步。检查两台机器上的时间,并将客户端的时间设置为与 Puppet Master 相差一分钟之内的时间。当然,确保 Puppet 为您配置了 ntpd。