0
点赞
收藏
分享

微信扫一扫

centos7.4之saltstack的系列(四)salt-ssh的使用

背景

  1、有人说saltstack和Ansible的最大区别是saltstack需要安装客户端-minion,而Ansible则无需。也有人说百台服务器使用Ansible还行,如果机器太多Ansible就显的吃力,比较适合用saltstack。

  2、大家对两者的区别可能有些误会,saltstack不止是需要客户端(minion),它也有salt-ssh,无需安装客户端就可以使用。而且它还支持saltstack里面的很多内置模块。

  3、这里建议大家如果是简单发布ssh发送命令,可以使用satlstack的salt-ssh或者Ansible,如果传输文件或者要求速度,那建议使用安装saltstack的minion,它默认使用ZeroMQ消息队列,简单理解就是并行。

  4、官方网址:https://docs.saltstack.com/en/latest/topics/ssh/index.html#salt-ssh-roster

使用方式

  1、安装配置

  前面我们介绍过saltstack的安装方式,这里我们只需要安装salt-ssh即可。

vim /etc/salt/roster

  web*是这个机器的id,相当于minion的id。下面的参数必须空两格,冒号后面也必须空一格,标准写法。

  host:对方ip地址

  user:连接用户名(这里不要误会,不是salt-ssh必须得用root,随便一个普通用户,只要允许这个用户登录即可)

  passwd:就是你ssh连接密码,第一次连接成功以后就可以把这个密码删除了。

  port:连接端口

  centos7.4之saltstack的系列(四)salt-ssh的使用_客户端

centos7.4之saltstack的系列(四)salt-ssh的使用_用户名_02centos7.4之saltstack的系列(四)salt-ssh的使用_vim_03

# 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值

更多参数介绍

  2、基本使用

salt-ssh '*' -r 'free -h'  #-r指使用shell命令,命令用引号。

  centos7.4之saltstack的系列(四)salt-ssh的使用_用户名_04

centos7.4之saltstack的系列(四)salt-ssh的使用_用户名_02centos7.4之saltstack的系列(四)salt-ssh的使用_vim_03

-r, –raw, –raw-shell # 直接使用shell命令
–priv #指定SSH私有密钥文件
–roster #定义使用哪个roster系统,如果定义了一个后端数据库,扫描方式,或者用户自定义的的roster系统,默认的就是/etc/salt/roster文件
–roster-file #指定roster文件(如果你的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,下次开始就不使用密码

更多参数

  问题一

  如果我有20台机器需要使用salt-ssh,首次连接都会提示yes/no,就得输入yes回车20次,更多就惨了。下面我们介绍自动认证方式

  方式一:

#新建config文件,配置ssh无需提示
vim /root/.ssh/config
#加入如下内容
StrictHostKeyChecking no

  方式二:

#直接修改 vim /etc/ssh/ssh_config文件,将如下一行去掉注释,并改ask为no,并重启ssh服务
# StrictHostKeyChecking ask

  问题二:

  有人说我在配置文件直接写登录的用户名和密码,岂不是很不安全。这个很好理解,这里其实用的就是ssh互信方法,只需要首次认证后就可以删除passwd选项。

  使用案例:

  salt-ssh不单单是ssh,它还可以使用salt的其它模块,用法很灵活。

  centos7.4之saltstack的系列(四)salt-ssh的使用_用户名_07




举报

相关推荐

0 条评论