zoukankan      html  css  js  c++  java
  • SaltStack 安装及配置认证

    一、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命令

        

  • 相关阅读:
    i.MX6ULL使用寄存器配置GPIO
    i.MX6ULL的GPIO简要介绍。
    stm32的2个can控制器,主从理解
    ST-Link串口驱动安装--ST-Link VCP Ctrl驱动安装失败解决
    大漠穷秋叫狼哥哥要学好的书
    JQuery UI datepicker 经验
    JQuery UI datepicker 使用方法
    前端-细节处理笔记
    Grunt 前端自动化组件 收集
    JS deBug 技巧
  • 原文地址:https://www.cnblogs.com/pzk7788/p/10268281.html
Copyright © 2011-2022 走看看