alt-ssh 是 0.17.0 新出现的一个功能,它是依赖 ssh 来进行远程命令执行的工具,好处就是不需要在客户端安装 minion,也不需要安装 master(直接安装 salt-ssh 这个包即可),有些时候你还真的需要 salt-ssh(例如:条件不允许安装 minion、不用长期管理某台 minion) 最重要的是 salt-ssh 并不只是单纯的 ssh 工具,它支持 salt 大部分的功能,如 grains、modules、state 等,需要注意的是,salt-ssh 并没有继承原来的通讯架构 (ZeroMQ),也就是说它的执行是串行模式,速度比传统的master-minion要慢.

三、Roster系统

3.1引入roster

 Salt的0.17.0版本中salt-ssh加入了roster系统,roster系统被创建因为salt-ssh需要一个名单系统来确定哪些执行目标。 
Roster系统不再需要和使用标准的salt,因为这里不存在salt-mater和salt-minion这种架构关系和通讯方式。 
自从roster系统被移植进来,他就是很容易被附加到任何存在的系统去收集当前哪些可用的而且可以被添加到salt-ssh使用的server信息,默认的roster文件是/etc/salt/roster

3.2 roster是如何工作的

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

3.3 学习roster系统

如下是salt的配置文件

  1. # target的信息

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

  3.    user:        # 登录的用户

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

  5. # 可选的部分

  6.    port:        #ssh端口

  7.    sudo:        #可以通过sudo

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

  9.    priv:        # ssh秘钥的文件路径

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

  11.    minion_opts: # minion的位置路径

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

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

  14. ```

  15. #四、使用秘钥方式配置salt-ssh

  16. ##4.1 配置系统基础环境

  17. 系统环境:两台aws虚拟机

  18. * 第一台:作为管理机

  19. **Private DNS **:ip-172-31-40-152.eu-west-1.compute.internal **Pvivate IP**  :172.31.40.152

  20. ```bash

  21. [root@ip-172-31-40-152 minions]# uname -a

  22. Linux ip-172-31-40-152.eu-west-1.compute.internal 2.6.32-573.8.1.el6.x86_64 #1 SMP Tue Nov 10 18:01:38 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

  • 第二台:作为待管理机 
    Private DNS :ip-172-31-40-151.eu-west-1.compute.internal 
    Pvivate IP :172.31.40.151

  1. [root@ip-172-31-40-151 minions]# uname -a

  2. Linux ip-172-31-40-151.eu-west-1.compute.internal 2.6.32-573.8.1.el6.x86_64 #1 SMP Tue Nov 10 18:01:38 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

学习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,下次开始就不使用密码

本文出自http://www.52devops.com/chuck/630.html

参考Salt-ssh批量自动安装被控端salt-mini

http://www.bubuko.com/infodetail-1942826.html