1、客户端申请证书
[root@zabbix ~]# puppet agent --server puppet.ewin.com --test #windows系统在CMD中运行:
运行出错时可以在后面加上--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
左边有+号的,表示已经签发,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 #签发所有证书
可以一个个签发,也可以一次性签发所有申请
请求证书存放在服务端的/var/lib/puppet/ssl/ca/requests/目录;签发后会删除。
4、客户端取回通过的证书
[root@zabbix ~]# puppet agent --server puppet.ewin.com --test
要记住这条命令,会经常使用。
错误分析:
证书申请出错,在服务端按提示操作,下面也有讲如何清除证书重新申请。
5、自动签发证书
[root@puppet ~]# vi /etc/puppet/autosign.conf
*.ewin.com
对所有来自ewin.com域的机器的请求,都自动签发证书
签发证书后服务端查看证书:
以下是扩展内容,当出现问题需要重新申请证书或重新安装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步