轉載: http://blog.51cto.com/ywzhou/1576163 1、用戶端申請證書
[root@zabbix ~]# puppet agent --server puppet.ewin.com --test
#windows系統在CMD中運作:
http://s3.51cto.com/wyfs02/M02/52/74/wKiom1Rkbs-x83igAAFaSPmYHCs794.jpg http://s3.51cto.com/wyfs02/M02/52/74/wKiom1Rkbs-x83igAAFaSPmYHCs794.jpg wKiom1Rkbs-x83igAAFaSPmYHCs794.jpg http://s3.51cto.com/wyfs02/M02/52/74/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
http://s3.51cto.com/wyfs02/M00/52/74/wKiom1Rkbs_y8WPWAADO7-raOYg895.jpg http://s3.51cto.com/wyfs02/M00/52/74/wKiom1Rkbs_y8WPWAADO7-raOYg895.jpg wKiom1Rkbs_y8WPWAADO7-raOYg895.jpg http://s3.51cto.com/wyfs02/M00/52/74/wKiom1Rkbs_y8WPWAADO7-raOYg895.jpg http://s3.51cto.com/wyfs02/M01/52/72/wKioL1Rkbz7gMmimAABZQ_oJkMA760.jpg http://s3.51cto.com/wyfs02/M01/52/72/wKioL1Rkbz7gMmimAABZQ_oJkMA760.jpg wKioL1Rkbz7gMmimAABZQ_oJkMA760.jpg http://s3.51cto.com/wyfs02/M01/52/72/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 #簽發所有證書
可以一個個簽發,也可以一次性簽發所有申請
http://s3.51cto.com/wyfs02/M01/52/73/wKioL1RkcN7BObBoAACFe078fP0820.jpg http://s3.51cto.com/wyfs02/M01/52/73/wKioL1RkcN7BObBoAACFe078fP0820.jpg wKioL1RkcN7BObBoAACFe078fP0820.jpg http://s3.51cto.com/wyfs02/M01/52/73/wKioL1RkcN7BObBoAACFe078fP0820.jpg http://s3.51cto.com/wyfs02/M01/52/75/wKiom1RkcHDzzWPjAACBaBnQH74398.jpg http://s3.51cto.com/wyfs02/M01/52/75/wKiom1RkcHDzzWPjAACBaBnQH74398.jpg wKiom1RkcHDzzWPjAACBaBnQH74398.jpg http://s3.51cto.com/wyfs02/M01/52/75/wKiom1RkcHDzzWPjAACBaBnQH74398.jpg請求證書存放在服務端的/var/lib/puppet/ssl/ca/requests/目錄;簽發後會删除。
4、用戶端取回通過的證書
[root@zabbix ~]# puppet agent --server puppet.ewin.com --test
要記住這條指令,會經常使用。
http://s3.51cto.com/wyfs02/M02/52/73/wKioL1RkcN7DCWWFAAEq_1mehro635.jpg http://s3.51cto.com/wyfs02/M02/52/73/wKioL1RkcN7DCWWFAAEq_1mehro635.jpg wKioL1RkcN7DCWWFAAEq_1mehro635.jpg http://s3.51cto.com/wyfs02/M02/52/73/wKioL1RkcN7DCWWFAAEq_1mehro635.jpg http://s3.51cto.com/wyfs02/M00/52/73/wKioL1RkciPyS6XMAADzz04yUfk082.jpg http://s3.51cto.com/wyfs02/M00/52/73/wKioL1RkciPyS6XMAADzz04yUfk082.jpg wKioL1RkciPyS6XMAADzz04yUfk082.jpg http://s3.51cto.com/wyfs02/M00/52/73/wKioL1RkciPyS6XMAADzz04yUfk082.jpg** 錯誤分析:**
wKioL1RkcN6DJs8IAAGxBPZ1tuU484.jpg
證書申請出錯,在服務端按提示操作,下面也有講如何清除證書重新申請。
5、自動簽發證書
[root@puppet ~]# vi /etc/puppet/autosign.conf
*.ewin.com
對所有來自ewin.com域的機器的請求,都自動簽發證書
簽發證書後服務端檢視證書:
http://s3.51cto.com/wyfs02/M00/53/25/wKioL1RlW4qSDOgmAAER9uvCnXs770.jpg http://s3.51cto.com/wyfs02/M00/53/25/wKioL1RlW4qSDOgmAAER9uvCnXs770.jpg wKioL1RlW4qSDOgmAAER9uvCnXs770.jpg http://s3.51cto.com/wyfs02/M00/53/25/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步