1、客户端申请证书

[root@zabbix ~]# puppet agent --server puppet.ewin.com --test
#windows系统在CMD中运行:

wKiom1Rkbs-x83igAAFaSPmYHCs794.jpg

 运行出错时可以在后面加上--debug查看详情。

 错误分析:

Exiting; no certificate found and waitforcert is disabled

  这表示必须在服务端的hosts文件中设置解析:

[root@puppet ~]# echo "10.188.1.103 zabbix.ewin.com" >> /etc/hosts
[root@puppet ~]# echo "10.188.1.172 ywzhou-pc.ewin.com" >> /etc/hosts

  通常还必须在客户端能PING通自身,最好在客户端添加自身的解析,如:

[root@zabbix ~]# echo "10.188.1.103 zabbix.ewin.com" >> /etc/hosts

2、服务端查看证书

[root@puppet ~]# puppet cert list --all

wKiom1Rkbs_y8WPWAADO7-raOYg895.jpg

wKioL1Rkbz7gMmimAABZQ_oJkMA760.jpg

  左边有+号的,表示已经签发,puppet首先会给自己签发一个本地证书,

  两个客户端的证书前没+号,等待服务端签发。

3、服务端签发证书

  [root@puppet ~]# puppet cert --sign zabbix.ewin.com
  [root@puppet ~]# puppet cert --sign ywzhou-pc.ewin.com
  [root@puppet ~]# puppet cert --sign --all                 #签发所有证书

  可以一个个签发,也可以一次性签发所有申请

wKioL1RkcN7BObBoAACFe078fP0820.jpg

wKiom1RkcHDzzWPjAACBaBnQH74398.jpg

  请求证书存放在服务端的/var/lib/puppet/ssl/ca/requests/目录;签发后会删除。

4、客户端取回通过的证书

[root@zabbix ~]# puppet agent --server puppet.ewin.com --test

  要记住这条命令,会经常使用。

wKioL1RkcN7DCWWFAAEq_1mehro635.jpg

wKioL1RkciPyS6XMAADzz04yUfk082.jpg

  错误分析:

wKioL1RkcN6DJs8IAAGxBPZ1tuU484.jpg

  证书申请出错,在服务端按提示操作,下面也有讲如何清除证书重新申请。  

5、自动签发证书

[root@puppet ~]# vi /etc/puppet/autosign.conf
*.ewin.com

  对所有来自ewin.com域的机器的请求,都自动签发证书 

  签发证书后服务端查看证书:

wKioL1RlW4qSDOgmAAER9uvCnXs770.jpg




 

  以下是扩展内容,当出现问题需要重新申请证书或重新安装puppet时使用

6、注销证书

[root@puppet ~]# puppet cert revoke zabbix.ewin.com
[root@puppet ~]# puppet cert revoke --all

  只是让证书失效,客户端连接会失败,并没有删除证书文件。

  重启puppetmaster服务生效:

[root@puppet ~]# service puppetmaster restart

7、删除证书及重新申请

  服务端删除证书:

[root@puppet ~]# puppet cert --clean zabbix.ewin.com  #单个删除
[root@puppet ~]# puppet cert --clean --all            #全部删除

  也可以直接删除证书文件:

[root@puppet ~]# rm -f /var/lib/puppet/ssl/ca/requests/zabbix.ewin.com.pem   #请求证书
[root@puppet ~]# rm -f /var/lib/puppet/ssl/ca/signed/zabbix.ewin.com.pem     #签发证书

  客户端删除证书:

[root@zabbix ~]# rm -rf /var/lib/puppet/ssl/         #linux
C:\ProgramData\PuppetLabs\puppet\etc\ssl             #windows

  客户端重新申请证书:

[root@zabbix ~]# puppet agent --server puppet.ewin.com --test

  服务端查看证书:

[root@puppet ~]# puppet cert list --all

8、重装服务端及重申证书

  清除服务端:

[root@puppet ~]# yum remove -y puppet-server puppet    #删除安装目录
[root@puppet ~]# rm -f -r /etc/puppet                  #删除配置目录
[root@puppet ~]# rm -f -r /var/lib/puppet              #删除证书目录

  重装服务端:

[root@puppet ~]# yum install -y puppet-server

  客户端删除证书及重申证书见第7步