配置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\n";
}
}
此时,因为第一次配置认证后已经重启了puppetmaster ,以后配置资源就不用重启服务了。客户端直接拉取就行了。
客户端:
[root@client ssl]# puppet agent --test --server server.com
不运行这个命令也可以,默认是30分钟去服务端去拉取一次,这里就采取手动拉取,立即更新资源到本地
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
puppet配置自动签发证书
# 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