puppet学习之puppet证书验证

摘要:
ll/etc/puppet/ssl/ssl目录的内容如下:drwxrwx---5puppetpuppet4096Jul2503:01cadrwxr-xr-x2puppetroot4096Jul2503:01certificate_requestsdrwxr-xr-x2puppetroot4096Jul2503:01certs-rw-r--r--1puppetpuppet398Jul2503:01crl.pemdrwxr-x---2puppetroot4096Jul2503:01privatedrwxr-x---2puppetroot4096Jul2503:01private_keysdrwxr-xr-x2puppetroot4096Jul2503:01public_keys二、关于证书在agent的认识puppetagent在第一次连接master的时候会向master申请证书,如果没有master没有签发证书,那么puppetagent和master的连接是否建立成功的,agent会持续等待master签发证书,并会每隔2分钟去检查master是否签发证书。

puppet学习之puppet证书验证

一、关于证书在master的认识

我们知道puppet为了安全,采用ssl隧道通信,因此需要申请证书来验证的,当puppet master第一次启动的时候,可以查看/var/log/message有类似如下的信息:

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

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

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

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

Jul 25 03:14:01 localhost puppet-master[25011]: Removing file Puppet::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 file Puppet::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没有签发证书,那么puppet agentmaster的连接是否建立成功的,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

在客户端与服务端签名不能正常进行的时候,请删除后重新签名

免责声明:文章转载自《puppet学习之puppet证书验证》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇windows计划任务+批处理文件实现oracle数据库的定时备份与恢复ffmpeg文档24-协议下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Window 环境下SonarQube的安装与部署

SonarQube 简介 Sonar (SonarQube)是一个开源平台,用于管理源代码的质量。 Sonar 不只是一个质量数据报告工具,更是代码质量管理平台。 支持java, C#, C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等等二十几种编程语言的代码质量管理与检测。 Sonar可以从以下七个维度检测代码质量,而作...

前端需要掌握的Nginx知识

什么是 Nginx? Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。——抄百度百科的~ 总之呢,Nginx 的应用广泛,常见场景: 静态资源服务器动态匹配反向代理Gzip 压缩负载均衡 今天呢,肯定学不完全部的啦,先学学一些现学现用的简单配置。 Nginx配置文件结构 nginx.conf 文件中主要有三...

解决fiddler无法抓取本地部署项目的请求问题

在本地部署了几个应用,然后想用fiddler抓取一些请求看看调用了哪些接口,然鹅,一直抓不到。。。 比如访问地址是这样的: 在网上搜罗半天,找到一个解决方法 在localhost或127.0.0.1后增加一个点即可,如下 然后fiddler就抓到了本地发出的请求 还有一种方法: 在localhost后增加.fiddler比如请求http://loca...

Git Push:error: Couldn't set refs/remotes/origin/master;error: update_ref failed for ref 'refs/remot

作者:荒原之梦 原文链接:http://zhaokaifeng.com/?p=543今天使用Git Push代码时产生错误: Rename from 'XXXX/.git/refs/remotes/origin/master.lock' to 'XXX/.git/refs/remotes/origin/master' failed. Should I...

一个php创建webservice,并通过c#调用的真实实例(转)

https://www.cnblogs.com/sequh/archive/2015/09/18/4819832.html 最近需要用php创建webservice供C#和JAVA来调用,通过3天的搜索和尝试,终于成功在C#下调用,JAVA的调用还没开始,为防止忘记,在这里记录下来全过程。 本文参考了许多文章,文中也采用了其中的示例。 本文目录如下 一、...

基于SSL实现Mysql加密主从

Mysql主从复制是明文传输的,对于一些特殊的场合是绝对不允许的,数据的安全性会受到威胁,在这里,简单的构建基于SSL的mysql主从复制 Ps:这里采用master-mysql为CA服务器 主端生成CA自签名证书 # mkdir -p /etc/my.cnf.d/ssl # cd /etc/my.cnf.d/ssl/ # openssl genrsa...