1、自动认证:

如果puppet客户端比较多,每当客户端一个个申请证书的时候,服务端都去一个个手动颁发,那有点麻烦,所以需要配置主动颁发

【服务端】

在服务器端的puppet.conf配置文件里面[main]下方加上autosign = true  


重启puppetmaster服务即可!


这样在客户端执行puppetd --server=master --test 服务器端会自动认证!

如图:

puppet 常用配置_puppet常用配置

192.168.1.69是另外一台客服端,当它像服务端申请证书的时候,由申请到颁发,都是直接执行的,然后也直接更新了test.txt文件了


2、配置客户端自动同步

在客户端安装完puppet后,并且认证完后,我们可以看到效果,那怎样让它自动与服务器同步呢?默认多少分钟跟服务器同步呢?怎样修改同步的时间呢,这时候我们需要配置客户端:  

【客户端】

(1)、配置puppet相关参数和同步时间:  


vi /etc/sysconfig/puppet  


PUPPET_SERVER=master 服务器mater的host  


PUPPET_PORT=8140 访问服务器的8140端口  


PUPPET_LOG=/var/log/puppet/puppet.log 本地日志  


PUPPET_EXTRA_OPTS=--waitforcert=500  


然后启动 /etc/init.d/puppet start 即可  


(2)、默认配置完毕后,客户端会半个小时跟服务器同步一次,我们可以修改这个时间。 vi  /etc/puppet/puppet.conf 的 [agent]下加入:  

runinterval = 60  //代表60秒跟服务器同步一次  

修改完后重启puppet 过一分钟即可看到客户端同步的效果!


【重新生成证书】:

很多时候由于更换主机名,我们需要重新配置认证:  


(1)、首先在客户端删除 rm -rf /var/lib/puppet/ssl/文件夹  


(2)、然后在服务器端删除客户端的证书:puppetca --clean slave9 【 slave9 客户端的主机名】  


(3)、然后再在客户端执行puppetd --server=master --test 即可!  


另外:

【客户端申请证书时的错误】

证书问题解决:

如果客户机请求证书时出现下面错误:

err: Could not request certificate: Retrieved certificate does not match private key; please remove certificate from server and regenerate it with the current key                                              

Exiting; failed to retrieve certificate and waitforcert is disabled


先到服务器端清除指定客户机的证书

puppetca -c 客户端主机名

然后再到服务器端吊销证书

puppetca -r 客户端主机名


然后在客户机上,mv /var/lib/puppet /tmp

接着在客户机  上请求证书签名

puppetd --test --server puppet


可以查看服务端为哪些客户端颁发了证书

puppet 常用配置_puppet常用配置_02