一、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. Genymotion 解决虚拟镜像下载速度特别慢的问题[转]

    Genymotion下载地址(需注册账号):https://www.genymotion.com/download/ Genymotion号称Android模拟器中运行最快的,但是服务器在国外,And ...

  2. Qt中QString、QByteArray、int、double之间转换

    最近写Qt中的tcp网络编程,Socke连接后,接受到的数据类型是字节型,这就涉及到了大量的类型转换,在网上辗转几辄,总算有了点结果,特此跟大家分享.好了,不废话,下面细说. 方法/步骤     1. ...

  3. Sublime Text 3 For Mac

    安装 Sublime Text 3 下载地址:http://www.sublimetext.com/3 我此时使用的是Build 3083版本. 安装 Package Control 这个是精华所在, ...

  4. 【转】VSCode Web开发插件

    Web开发必备插件 1.Beautify - HTML.CSS.JS.JSON语法高亮 语法高亮,你懂的.   Beautify 2.Auto rename tag - 自动重命名标签 在HTML, ...

  5. GRUB——系统的引导程序简单介绍

    这几天对于操作系统是如何引导启动的特征的感兴趣,已经到了不能自拔的状态了,所以索性好好了解一下: 前面已经说过了,MBR对于系统启动的重要性,这是不多啰嗦:  现在介绍一个 grub ,启动管理器,它 ...

  6. 第三百七十八节,Django+Xadmin打造上线标准的在线教育平台—django自带的admin后台管理介绍

    第三百七十八节,Django+Xadmin打造上线标准的在线教育平台—django自带的admin后台管理介绍 配置django的admin数据库管理后台 首先urls.py配置数据库后台路由映射,一 ...

  7. asp 读文件 比较ip

    <% Dim UserIPAddress Set UserIPAddress = Request.ServerVariables("HTTP_X_FORWARDED_FOR" ...

  8. [SQL Server] 复制数据库任务

    假设你要生产环境下的数据做相应的测试,比如修改及测试存储过程.更改和优化索引等.但是你用户在连接数据库的情况下,你又不能断开数据库的连接.如何取得数据库的副本呢? 一.  利用数据库任务中的复制数据库 ...

  9. 最近输入法的问题:关于ctrl + space 无法开关闭输入法的问题

    输入法无法切换最好解决方法首先任务栏上的输入法图标上点右键选择设置. 然后选择键设置,双击第一个“在不同的输入语言之间切换”先勾选“切换输入语言”下面选择左手ALT.取消右边“切换键盘布局”前的勾. ...

  10. YII2 搭建redis拓展

    安装redis扩展: 1.通过composer进行安装,到项目根目录cmd运行(推荐) php composer.phar require --prefer-dist yiisoft/yii2-red ...