配置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配置自动签发证书

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

配置puppet的主机端和客户端的自动认证的更多相关文章

  1. mongoDB Replica集群配置(1主+1从+1仲裁)

    1.mongoDB节点介绍 主节点(Primary) 在复制集中,主节点是唯一能够接收写请求的节点.MongoDB在主节点进行写操作,并将这些操作记录到主节点的oplog中.而从节点将会从oplog复 ...

  2. CDbConnectionExt.php 23.2实现数据库的主从分离,该类会维护多个数据库的配置:一个主数据库配置,多个从数据库的配置

      <?php   /** * 实现数据库的主从分离,该类会维护多个数据库的配置:一个主数据库配置,多个从数据库的配置. * 具体使用主数据库还是从数据库,使用如下规则: * 1.CDbComm ...

  3. php配置虚拟主机的配置步骤(hosts、httpd.conf、vhosts.conf)1.配置本地的dns文件2.配置apache的主配置文件3.配置Apache的虚拟主机

    1.域名解析(DNS) 找到C:\Windows\System32\drivers\etc目录下的hosts文件,在里面进行添加对应的内容

  4. 在主机端和设备端进行”incrementArray“并对结果进行比较

    实验思想: 在主机端将数据初始化后传输到设备端,设备端和主机端进行同样的操作对数据加1,然后将设备端的结果传输到主机,最后核对主机端的计算结果和设备端的计算结果是否一直. // incrementAr ...

  5. 在 CentOS 7 上安装和配置 Puppet

    1 准备 2台 centos7 (master/server:192.168.1.103 agent/client:192.168.1.106) 分别添加puppet自定义仓库 https://yum ...

  6. centos LAMP第二部分apache配置 下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转 配置apache的访问日志 配置静态文件缓存 配置防盗链 访问控制 apache rewrite 配置开机启动apache tcpdump 第二十节课

    centos    LAMP第二部分apache配置  下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转  配置apache的访问日志  配置静态文件缓存  配置防盗链 ...

  7. api接口对于客户端的身份认证方式以及安全措施

    转载 基于http协议的api接口对于客户端的身份认证方式以及安全措施 由于http是无状态的,所以正常情况下在浏览器浏览网页,服务器都是通过访问者的cookie(cookie中存储的jsession ...

  8. [JavaWeb]SpringSecurity-OAuth2.0 统一认证、资源分离的配置,用于分布式架构、模块化开发的认证体系

    前言 关于 OAuth2.0的认证体系,翻阅了好多资料,RCF 文档太多,看了一半就看不下去了,毕竟全英文的文档看起来,是有一点让我烦躁,但也对 OAuth2.0的认证流程有了一个基本的概念,之前用 ...

  9. Spring Boot 自动配置的原理、核心注解以及利用自动配置实现了自定义 Starter 组件

    本章内容 自定义属性快速入门 外化配置 自动配置 自定义创建 Starter 组件 摘录:读书是读完这些文字还要好好用心去想想,写书也一样,做任何事也一样 图 2 第二章目录结构图 第 2 章 Spr ...

随机推荐

  1. # C# 如何调用动态连接库?

    导入命名空间 using System.Runtime.InteropServices; 把 非托管DLL放入执行程序同级目录,比如 Debug .Release . [DllImport(" ...

  2. Mybatis认识

    MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis .iB ...

  3. python函数式编程之装饰器(二)

    以前用装饰器,都是定义好了装饰器后,使用@装饰器名的方法写入被装饰函数的正上方 在这里,定义的装饰器都是没有参数的 在定义装饰器的函数的时候,没有在括号里定义参数,这就叫做无参装饰器 既然有无参装饰器 ...

  4. PHPmysqli的 预处理执行查询语句

    header( 'Content-Type:text/html;charset=utf-8 '); require 'prepareSrarment.php'; $mysqli=new mysqli( ...

  5. 利用apache自带的工具 分割访问日志

    httpd.conf中CustomLog logs/access.log common 改成 CustomLog "|c:/apache/bin/rotatelogs.exe c:/apac ...

  6. StackExchange.Redis 二次封装

    在NuGet直接搜索StackExchange.Redis,下载引用包: 帮助类: public class RedisUtils { /// <summary> /// redis配置文 ...

  7. oracle的下载地址以及步骤

    一.下载地址 1.oracle官网:https://www.oracle.com/cn/index.html 2. 点击右上角先选择语音,然后注册一个新账户,如果有oracle直接登录就可以 3.点击 ...

  8. 浅谈js中null和undefined的区别

    在JS中,null和undefined是经常让人摸不着头脑的东西,尤其是在数据初始化以及处理的过程中,经常稍微不注意,就会让页面在渲染时出现报错,下面来细说下,这两者之间的区别: null 表示一个对 ...

  9. CentOS 5.x 多个ISO文件 安装方法(VMware)

    CentOS下载地址:http://mirror.centos.org/centos/ CentOS版本:5.11 VMware版本:11.1.0 CentOS 5.11有两个ISO: CentOS- ...

  10. Windows DLL资料整理

    1.使用Visual C++ 6.0创建dll 2. 函数的调用规则(__cdecl,__stdcall,__fastcall,__pascal) 要点: 1. 如果你的程序中没有涉及可变参数,最好使 ...