天天看點

puppet學習之puppet證書驗證

一、關于證書在master的認識

我們知道puppet為了安全,采用ssl隧道通信,是以需要申請證書來驗證的,當puppet master第一次啟動的時候,可以檢視/var/log/message有類似如下的資訊:

Jul 25 03:14:01 localhost puppet-master[25011]: Signed certificaterequest for ca

Jul 25 03:14:01 localhost puppet-master[25011]: Rebuilding inventoryfile

Jul 25 03:14:01 localhost puppet-master[25011]: puppet.zhang.com hasa waiting certificate request

Jul 25 03:14:01 localhost puppet-master[25011]: Signed certificaterequest for puppet.zhang.com

Jul 25 03:14:01 localhost puppet-master[25011]: Removing filePuppet::SSL::CertificateRequest puppet.zhang.com at'/etc/puppet/ssl/ca/requests/puppet.zhang.com.pem'

Jul 25 03:14:01 localhost puppet-master[25011]: Removing filePuppet::SSL::CertificateRequest puppet.zhang.com at'/etc/puppet/ssl/certificate_requests/puppet.zhang.com.pem'

從日志中我們可以看出第一次啟動的時候,puppet master建立本地認證中心,給自己簽發證書和key,你可以在/etc/puppet/ssl看到那些證書和key。這個目錄和/etc/puppet/puppet.conf檔案中配置的ssldir路徑有關系。

ll /etc/puppet/ssl/ssl目錄的内容如下:

drwxrwx--- 5 puppet puppet 4096 Jul 25 03:01 ca

drwxr-xr-x 2 puppet root4096 Jul 25 03:01 certificate_requests

drwxr-xr-x 2 puppet root4096 Jul 25 03:01 certs

-rw-r--r-- 1 puppet puppet398 Jul 25 03:01 crl.pem

drwxr-x--- 2 puppet root4096 Jul 25 03:01 private

drwxr-x--- 2 puppet root4096 Jul 25 03:01 private_keys

drwxr-xr-x 2 puppet root4096 Jul 25 03:01 public_keys

二、關于證書在agent的認識

puppet agent在第一次連接配接master的時候會向master申請證書,如果沒有master沒有簽發證書,那麼puppetagent和master的連接配接是否建立成功的,agent會持續等待master簽發證書,并會每隔2分鐘去檢查master是否簽發證書。

通過puppet agent --server= puppet.zhang.com --no-daemonize –verbose啟動的時候能很清楚的檢視到agent申請證書的過程

puppet agent --server=puppet.zhang.com --no-daemonize --verbose

info: Creating a new SSL key for node1.zhang.com

info: Caching certificate for ca

#申請證書

info: Creating a new SSL certificate request for node1.zhang.com

info: Certificate Request fingerprint (md5):54:11:FB:75:87:94:AF:6B:D1:6B:AD:6B:44:3E:74:A0

#等待證書簽發

warning: peer certificate won't be verified in this SSL session

#2分鐘檢查一次,如果沒有簽發就顯示如下資訊

notice: Did not receive certificate

#證書簽發成功後,順利建立連接配接

info: Caching certificate for node1.zhang.com

notice: Starting Puppet client version 2.6.16

info: Caching certificate_revocation_list for ca

info: Caching catalog for node1.zhang.com

info: Applying configuration version '1344943902'

notice: Finished catalog run in 0.11 seconds

類似于上面的就是去申請證書了。當master簽發證書以後就可以順利建立連接配接了。

三、Master端證書的管理

1.在master上檢視申請證書請求

puppet cert --list

2.簽發證書

puppet cert --sign node1.zhang.com

如果一次性簽發所有的證書,采用如下指令:

puppet cert --sign –all

也可以設定自動簽發證書。

3.讓證書過期

puppet cert -revoke puppet-test

删除證書

puppet cert --clean puppet-test

證書簽名的過期或删除需要重新開機puppetmaster服務。

4.可以通過/etc/puppet/auth.conf檔案配置簽名的ACL清單。

四、Agent端證書的管理

1.删除已有的證書

清空/etc/puppet/ssl(這個目錄和你的/etc/puppet/puppet.conf檔案中配置的ssldir路徑有關系)下的檔案和目錄

2.重新開機申請證書

puppet agent --server puppet.zhang.com--test

在用戶端與服務端簽名不能正常進行的時候,請删除後重新簽名

本文轉自pizibaidu 51CTO部落格,原文連結:http://blog.51cto.com/pizibaidu/1347797,如需轉載請自行聯系原作者

繼續閱讀