我在CentOS Linux 7(Core)上设置了Puppet服务器。
# /opt/puppetlabs/bin/puppetserver --version
puppetserver version: 2016.5.0.11
我在Win Server 2008 R2 Enterprise(64位)上安装了Enterprise Puppet代理。
C:\Users\Administrator>puppet --version
4.8.1
当我尝试连接到Puppet服务器时,我只得到以下输出:
C:\Windows\system32>puppet agent --test
Exiting; no certificate found and waitforcert is disabled
在服务器上,如果我检查任何挂起的证书签名请求,我什么也看不见:
# puppet cert --list
我已经验证我可以从Win代理框中远程登录到端口8140上的Puppet服务器。
下面还显示了以本地系统用户身份运行的Puppet服务。
我的Puppet服务器在/etc/puppetlabs/puppet/puppet.conf中有以下条目
[main]
certname = gc.abc.com
server = gc.abc.com
user = pe-puppet
group = pe-puppet
environment_timeout = 0
app_management = true
module_groups = base+pe_only
environmentpath = /etc/puppetlabs/code/environments
codedir = /etc/puppetlabs/code
[agent]
graph = true
[master]
node_terminus = classifier
storeconfigs = true
storeconfigs_backend = puppetdb
reports = puppetdb
certname = gc.abc.com
always_cache_features = true
在Win代理上,我在主机文件中指定了Puppet服务器名称:
xx.yy.zz.zzz puppet-server
在Win代理上,我还在C:\ ProgramData \ PuppetLabs \ puppet \ etc \ puppet.conf文件中提到了服务器名称
[main]
server=puppet-server
autoflush=true
environment=production
任何指针?
答案 0 :(得分:1)
从IRC(@ binford2k),我得到以下建议:
"退出;未找到证书且waitforcert已禁用"表示客户已生成CSR。如果它有CSR,那么它就不会尝试生成另一个CSR。但是,如果CSR没有以某种方式进入主人,那么主人就不会知道它并且代理人不会再尝试,因为它已经有了CSR。要解决上述问题,请删除代理上的SSL目录,然后再次尝试运行puppet。
当我按照上述建议删除SSL目录(C:\ ProgramData \ PuppetLabs \ puppet \ etc \ ssl)并再次运行puppet命令时,它工作正常。 :)
C:\Windows\system32>puppet agent --test --server=puppet-server
Info: Creating a new SSL key for gc.abc.com
Info: Caching certificate for ca
Info: csr_attributes file loading from C:/ProgramData/PuppetLabs/puppet/etc/csr_
attributes.yaml
Info: Creating a new SSL certificate request for gc.abc.com
Info: Certificate Request fingerprint (SHA256): 99:02:46:D1:A4:32:6F:A5:CE:06:39
:3E:A4:35:D2:88:C1:9A:D1:2E:58:27:B0:ED:24:F9:DC:77:D9
Info: Caching certificate for ca
Exiting; no certificate found and waitforcert is disabled