一、SaltStack 安装

SaltStack 是基于 Python 开发的,也是基于 C/S 架构,通过服务端 ( master ) 控制多台客户端 ( minion ) 实现批量操作
这里我们使用 CentOS 7 安装一个服务端 ( 192.168.119.138 ) ,两个客户端 ( 192.168.119.140,192.168.119.142 ) 来进行实验

安装服务端:

[root@localhost ~]$ yum install -y https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el7.noarch.rpm    # 安装 SaltStack yum 源
[root@localhost ~]$ yum install -y salt-master # 安装 SaltStack 服务端
[root@localhost ~]$ systemctl start salt-master # 启动 SaltStack 服务端

安装客户端:

[root@localhost ~]$ yum install -y https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el7.noarch.rpm    # 安装 SaltStack yum 源
[root@localhost ~]$ yum install -y salt-minion # 安装 SaltStack 客户端
[root@localhost ~]$ vim /etc/salt/minion # 编辑配置文件,指定 SaltStack 服务端地址
master: 192.168.119.138
[root@localhost ~]$ systemctl start salt-minion # 启动 SaltStack 客户端

二、SaltStack 配置认证

(1) 上面我们已经安装好了 SaltStack 服务端和客户端,但是服务端和客户端之间相互通信,还需要配置认证,通信过程是通过密钥对来进行加解密的
(2) minion 在第一次启动时,会在 /etc/salt/pki/minion/ 目录下生成密钥对,其中 minion.pem 是私钥,minion.pub 是公钥,会把公钥传给 master
(3) master 接收到 minion 发来的公钥后,我们可以通过 salt-key 命令来查看有哪些 minion 公钥过来进行认证;
(4) 如果我们把该公钥视为可信的,认证通过,那么就会存放在 /etc/salt/pki/master/minions 目录中,然后 master 会把自身的公钥发送给 minion
(5) minion 接收到 master 发来的公钥后,会存储为 /etc/salt/pki/minion/minion_master.pub,实现服务端和客户端之间相互通信

[root@localhost ~]$ salt-key -L    # 查看有哪些minion公钥过来进行认证
Accepted Keys:
Denied Keys: # Accepted Keys 表示已经接受的公钥
Unaccepted Keys: # Denied Keys 表示已经拒绝的公钥
192.168.119.140 # Unaccepted Keys 表示还没有被接受的公钥
192.168.119.142 # Rejected Keys 表示已经被拒绝的公钥
Rejected Keys: # Deny 是直接把包丢掉,不会有任何回应,相对粗暴点,而 Reject 则是会通知对方你的包被我拒绝了
[root@localhost ~]$ salt-key -a 192.168.119.*    # 设置通过认证(Accept)

salt-key 常用参数:

-L    # 列出所有未被接受的公钥
-a # 接受(Accept)指定的主机公钥,后面接主机名
-r # 拒绝(Reject)指定的主机公钥,后面接主机名
-d # 拒绝(Deny)指定的主机公钥,后面接主机名
-A # 接受(Accept)所有的主机公钥
-R # 拒绝(Reject)所有的主机公钥
-D # 拒绝(Deny)所有的主机公钥
-y # 我们在接受主机公钥时需要按y确认,加上该参数可以省略交互

三、SaltStack 远程执行命令

设置认证通过后,就可以使用 master 对多个 minion 远程执行命令了:

[root@localhost ~]$ salt '*' test.ping             # 检查所有主机是否存活
[root@localhost ~]$ salt '*' cmd.run "hostname" # 对所有主机执行hostname命令

SaltStack 安装及配置认证的更多相关文章

  1. SaltStack安装及配置

    1.简介SaltStack是一个服务器基础架构集中化管理平台,具备配置管理.远程执行.监控等功能,一般可以理解为简化版的puppet和加强版的func.SaltStack基于Python语言实现,结合 ...

  2. saltstack安装和配置

    [root@web9 salt]# vi filetest.sls //ADD file_test: file.managed: - name: /tmp/lulu.com - source: sal ...

  3. saltstack安装与配置

    Saltstack是基于Python开发的一套C/S架构,具备Puppet.Ansible功能于一身的配置管理工具,功能十分强大,各模块融合度及复用性极高:使用号称世界上最快的消息队列ZeroMQ使得 ...

  4. Saltstack的安装和配置

    1.安装salt 因为系统自带的yum源不支持saltstack安装包的支持,所以需要安装第三方yum源(epel) # yum -y install epel-release salt分为主服务器( ...

  5. Saltstack 安装配置详解

    下面这篇文章主要介绍另外一个运维自动化工具 Saltstack . 一.简介 Saltstack 比 Puppet 出来晚几年,是基于Python 开发的,也是基于 C/S 架构,服务端 master ...

  6. Linux centosVMware 自动化运维认识自动化运维、启动salt相关服务、saltstack配置认证、salt-key命令用法、saltstack远程执行命令、saltstack - grains、saltstack – pillar

    一.认识自动化运维 传统运维效率低,大多工作人为完成 传统运维工作繁琐,容易出错 传统运维每日重复做相同的事情 传统运维没有标准化流程 传统运维的脚本繁多,不能方便管理 自动化运维就是要解决上面所有问 ...

  7. SaltStack 安装配置 centos7

    参考文档 http://docs.saltstack.cn/contents.html 快速安装 初始配置 控制端master配置 # vim /etc/salt/master interface: ...

  8. saltstack安装配置及常用命令

    1.salt安装及配置详解 https://www.cnblogs.com/lgeng/p/6567424.html centos7配置: https://www.jianshu.com/p/4c91 ...

  9. saltstack安装配置(yum)

    主机规划: (主)master:192.168.25.130 (从)minion:192.168.25.131     192.168.25.132 1.yum安装: 服务端:安装master yum ...

随机推荐

  1. 你应该知道的CSS2.0中最常用的18条技巧

    一.使用css缩写 使用缩写可以帮助减少你CSS文件的大小,更加容易阅读.  具体内容请浏览:CSS常用缩写语法 二.明确定义单位,除非值为0. 忘记定义尺寸的单位是CSS新手普遍的错误.在HTML中 ...

  2. VMware Fusion 5 正式版序列号

    HV4KJ-2X10K-VZ768-DRAGP-8CU2F MY63N-D0HE2-0ZXC1-HV954-937JL

  3. 【2】JVM-JAVA对象的访问

    Java中对象的访问 JAVA是面向对象的语言,那么在JAVA虚拟机中,存在非常多的对象,对象访问是无处不在的.即时是最简单的访问,也会涉及到JAVA栈.JAVA堆.方法区这三个非常重要的内存区域之间 ...

  4. ERROR:tornado上传文件过大超出范围报错

    该怎么解决呢? HTTPServer里面指定max_buffer_size就可以了 EXAMPLE # server = HTTPServer(application, max_buffer_size ...

  5. Java如何查看线程的优先级?

    Java编程中,如何查看线程的优先级? 以下示例演示如何使用Thread类的getPriority()方法检查线程的优先级. package com.yiibai; public class Thre ...

  6. Java数组列表反转

    在Java中,如何反转数组列表中的元素? 以下示例使用Collections.reverse(ArrayList)方法反转数组列表中的元素. package com.yiibai; public cl ...

  7. Android 监听屏幕唤醒和关闭的广播

    今天希望应用程序的服务运行时,可以监听到屏幕的唤醒.继续百度学习法,连同监听闭幕关闭也一同学习了. 此种情况需要动态注册系统广播.在AndroidManifest.xml中静态注册的实际运行中无效. ...

  8. 50.EasyGank妹纸App

    50.EasyGank妹纸App 前言 基于MVP模式下 , RxJava+RxAndroid+Retrofit的组合 . RxJava RxAndroid Retrofit Okhttp Gson ...

  9. 64位系统web项目导出excel问题分析及解决方法汇总

    最近在web项目中做了一个导出Excel功能.在导出的时候报错:检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败. 一 ...

  10. Spring MVC手札

    本文用于记录使用Spring MVC中的零散手札 1.在普通java类中获取HttpServletRequest对象  在web.xml的listener节点加入 <listener> & ...