我安装了puppet 4.3和centos7来使用Puppet Device来pipe理Cisco路由器。 服务器主机名是“puppetmaster”(通过运行hostnamectl puppetmaster )centos服务器正在运行puppet master和agent。
设置好所有东西后,configurationdevice.conf当我运行sudo木偶设备–debug我看到这些错误:
Error: /File[/opt/puppetlabs/puppet/cache/devices/r1/facts.d]: Failed to generate additional resources using 'eval_generate': SSL_connect returned=1 errno=0 state=error: certificate verify failed: [unable to get local issuer certificate for /CN=puppetmaster] Error: /File[/opt/puppetlabs/puppet/cache/devices/r1/facts.d]: Could not evaluate: Could not retrieve file metadata for puppet:///pluginfacts: SSL_connect returned=1 errno=0 state=error: certificate verify failed: [unable to get local issuer certificate for /CN=puppetmaster]
我可以运行puppet agent --test成功地在服务器上testing:
sudo puppet agent --test Info: Using configured environment 'production' Info: Retrieving pluginfacts Info: Retrieving plugin Info: Caching catalog for puppetmaster Info: Applying configuration version '1449189804'
这是我的/etc/puppetlabs/puppet/device.conf
[r1] type cisco url telnet://puppet:123456@r1/
这是我的/etc/puppetlabs/puppet/puppet.conf
[master] vardir = /opt/puppetlabs/server/data/puppetserver logdir = /var/log/puppetlabs/puppetserver rundir = /var/run/puppetlabs/puppetserver pidfile = /var/run/puppetlabs/puppetserver/puppetserver.pid codedir = /etc/puppetlabs/code dns_alt_names = puppetmaster [agent] certname = puppetmaster server = puppetmaster
这必须是某种证书问题,如名称不匹配,但我不知道是什么原因造成的。 代理与主服务器运行在同一台服务器上,并且我正确设置了所有的configuration(至less我想我是这样做的)。
这是puppet返回的证书:
sudo puppet cert --print --all | grep CN Issuer: CN=Puppet CA: puppetmaster Subject: CN=puppetmaster
这里是原始ca.pem和puppetmaster.pem证书:
openssl x509 -in /etc/puppetlabs/puppet/ssl/certs/ca.pem -noout -text | grep CN Issuer: CN=Puppet CA: puppetmaster Subject: CN=Puppet CA: puppetmaster DirName:/CN=Puppet CA: puppetmaster openssl x509 -in /etc/puppetlabs/puppet/ssl/certs/puppetmaster.pem -noout -text | grep CN Issuer: CN=Puppet CA: puppetmaster Subject: CN=puppetmaster
当我运行openssl来validation证书我看到相同的错误:
sudo openssl verify -CApath /etc/puppetlabs/puppet/ssl/certs/ca.pem /etc/puppetlabs/puppet/ssl/certs/puppetmaster.pem /etc/puppetlabs/puppet/ssl/certs/puppetmaster.pem: CN = puppetmaster error 20 at 0 depth lookup:unable to get local issuer certificate
我确认configuration设置,并通过该过程来清理证书 (多次),但没有骰子。
好吧,搞明白了。
正如我所说我清除和再生木偶证书,但我没有做的是明确的:
/opt/puppetlabs/puppet/cache/devices/
傀儡为设备caching了一个旧的证书,所以它试图使用那个而不是生成一个新的。
删除该文件夹的内容后,我能够运行puppet device