saltstack(十六):saltstack-salt-ssh的使用

salt-ssh的使用

https://www.cnblogs.com/xiewenming/p/7716252.html

简介

1.salt-ssh 是 0.17.0 新引入的一个功能,不需要minion对客户端进行管理,也不需要master。

2.salt-ssh 支持salt大部分的功能:如 grains、modules、state 等

3.salt-ssh 没有使用ZeroMQ的通信架构,执行是串行模式

类似 paramiko、pssh、ansible 这类的工具

 

salt-ssh需要一个名单系统来确定哪些执行目标,Salt的0.17.0版本中salt-ssh引入roster系统

roster系统编译成了一个数据结构,包含了targets,这些targets是一个目标系统主机列表和或如连接到这些targets

配置文件如下

# target的信息

    host:        # 远端主机的ip地址或者dns域名

    user:        # 登录的用户

    passwd:      # 用户密码,如果不使用此选项,则默认使用秘钥方式

# 可选的部分

    port:        #ssh端口

    sudo:        #可以通过sudo

    tty:         # 如果设置了sudo,设置这个参数为true

    priv:        # ssh秘钥的文件路径

    timeout:     # 当建立链接时等待响应时间的秒数

    minion_opts: # minion的位置路径

    thin_dir:    # target系统的存储目录,默认是/tmp/salt-<hash>

    cmd_umask:   # 使用salt-call命令的umask值

 

安装

yum install salt-ssh -y

修改roster文件,配置要管理的机器(我是密钥访问)

之前已经添加过ssh免密登陆

 

pe-db:

  host: 10.6.76.28

  user: admin

  #passwd: 123456

  priv: /home/admin/.ssh/id_rsa

  port: 22

 

test-tms:

  host: 10.6.76.26

  user: admin

  #passwd: 123456

  priv: /home/admin/.ssh/id_rsa

  prot: 22

 

salt-ssh命令用法

-r, –raw, –raw-shell # 直接使用shell命令

–priv #指定SSH私有密钥文件

–roster #定义使用哪个roster系统,如果定义了一个后端数据库,扫描方式,或者用户自定义的的roster系统,默认的就是/etc/salt/roster文件

–roster-file #指定roster文件

–refresh, –refresh-cache #刷新cache,如果target的grains改变会自动刷新

–max-procs #指定进程数,默认为25

-i, –ignore-host-keys #当ssh连接时,忽略keys

–passwd #指定默认密码

–key-deploy #配置keys 设置这个参数对于所有minions用来部署ssh-key认证,

 这个参和–passwd结合起来使用会使初始化部署很快很方便。当调用master模块时,并加上参数 –key-deploy 即可在minions生成keys,下次开始就不使用密码

 

测试执行

总结

1.salt-ssh 是在salt基础上打了一个python包上传到客户端的默认tmp目录下

    在客户端上面解压并执行返回结果,最后删除tmp上传的临时文件

2.salt-minion方法是salt-mater先执行语法验证,验证通过后发送到minion

    minion收到Msater的状态文件默认保存在/var/cache/salt/minion

    注意:也有时候salt-master语法验证通过,在minion上可能因为环境问题会执行失败

3.salt-ssh和salt-minion可以共存,salt-minion不依赖于ssh服务

 

posted on 2019-06-13 14:07  光阴8023  阅读(458)  评论(0编辑  收藏  举报