配置puppet的主机端和客户端的自动认证

配置puppet的主机端和客户端的自动认证

author:headsen  chen    2017-11-01  17:44:56

个人原创,转载请注明作者,出处,否则依法追究法律责任

1,先在主机端和客户端都做好前期环境准备和安装好puppet。

2,客户端配置:

[root@client ~]# vim /etc/sysconfig/puppet

将主机端的域名填上:PUPPET_SERVER=server.com

[root@client ~]# vim /etc/puppet/puppet.conf 

在[agent]下面添加:

    server = server.com      (主机端的域名)

    listen  = true 

[root@client ~]# service puppet restart                (重启客户端)

[root@client ~]# puppet agent --test
Exiting; no certificate found and waitforcert is disabled   (正常,因为主机端还没有认证)

3,主机端开启自动认证:

[root@server manifests]# vim /etc/puppet/autosign.conf   (内容为:*.com  )

 

[root@server manifests]# vim /etc/puppet/fileserver.conf

 末行添加:

[root@server puppet]# /etc/init.d/puppetmaster restart

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

出现一下信息表示正常,注意,要加上 --all  这个参数。

 补充:手动给客户端分配cert证书:

查看有哪些客户端过来请求了证书而没有分配的客户端:# puppet cert list  (当没有输出时,表示没有已经请求了,但主机端没有分配的,若有表示已经有客户端来请求,但主机端还没有分配证书)

 

 查看所有的曾经过来请求了这书的,包含已经分配了证书的:# puppet cert list --all      (前面有个 + 号的:该证书已经分配给了客户端了。该客户端已经可以直接使用的。)

给某个固定的客户端分配:#puppet cert --sign  client.com

给所有的客户端分配:# puppet  cert --sign  --all

以上所有的过程:客户端过来请求证书,服务端未分配(puppet cert list 查看),服务端手工分配证书(puppet  cert --sign  xxx.client.com)(puppet  cert  list)(puppet cert list --all再次查看), 客户端过来拿证书(puppet  agent --test   --server  xxx.server.com)

客户端再次请求认证:

[root@client ssl]# puppet agent --test --server server.com

出现一下信息表示正常:

 4,开启资源验证:

新建一个资源:

主机端:

[root@server ~]# vim /etc/puppet/manifests/site.pp

[root@server ~]# cat /etc/puppet/manifests/site.pp 

node default {
file { "/tmp/test.txt":
content=>"I'm test puppet ";
}
}

此时,因为第一次配置认证后已经重启了puppetmaster ,以后配置资源就不用重启服务了。客户端直接拉取就行了。

客户端:

[root@client ssl]# puppet agent --test --server server.com

不运行这个命令也可以,默认是30分钟去服务端去拉取一次,这里就采取手动拉取,立即更新资源到本地

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

puppet配置自动签发证书

1,现在服务端上删除已经配置了的客户端的证书

# puppet cert clean client.aming.com
2,客户端上删除ssl下已经获取的证书文件
# rm -rf /var/lib/puppet/ssl/*
3,修改服务端配置文件
# vim /etc/puppet/puppet.conf在[main]下面加一行
autosign = true
    服务端创建自动签发的配置文件

# vim /etc/puppet/autosign.conf
加入如下内容(意思是符合这个格式的客户端都遵循自动签发证书):
*.com 
重启puppetmaster服务
# /etc/init.d/puppetmaster restart

4 ,客户端重启puppet服务

 # /etc/init.d/puppet restart
现在就可以在服务端上自动签发证书了

客户端执行:
# puppet agent --test --server  xxx.server.com

原文地址:https://www.cnblogs.com/kaishirenshi/p/7767811.html