一、salt-ssh
1.1 salt-ssh的特点
- 远程系统需要Python支持,除非使用-r选项发送原始ssh命令
- salt-ssh是一个软件包,需安装之后才能使用,命令本身也是salt-ssh
- salt-ssh不会取代标准的Salt通信系统,它只是提供了一个基于SSH的替代方案,不需ZeroMQ和agent
请注意,由于所有与Salt SSH的通信都是通过SSH执行的,因此它比使用ZeroMQ的标准Salt慢得多
1.2 salt-ssh远程管理的方式
salt-ssh有两种方式实现远程管理,一种是在配置文件中记录所有客户端的信息,诸如 IP 地址、端口号、用户名、密码以及是否支持sudo等;另一种是使用密钥实现远程管理,不需要输入密码。
二、salt-ssh管理
在 master 上安装 salt-ssh
[root@master ~]# yum -y install salt-ssh
2.1 通过使用用户名密码的SSH实现远程管理
修改配置文件,添加受控机信息
[root@master salt]# cat /etc/salt/roster
# Sample salt-ssh config file
#web1:
# host: 192.168.42.1 # The IP addr or DNS hostname
# user: fred # Remote executions will be executed as user fred
# passwd: foobarbaz # The password to use for login, if omitted, keys are used
# sudo: True # Whether to sudo to root, not enabled by default
#web2:
# host: 192.168.42.2
在配置文件里面写入以下内容:
minion:
host: 192.168.35.135
user: root
passwd: runtime
测试连通性
[root@master salt]# salt-ssh -r 'minion' "yum -y install python3"
[root@master salt]# salt-ssh 'minion' test.ping
minion:
True
安装yum源
[root@master salt]# salt-ssh 'minion' state.sls init.yum.main
minion:
----------
ID: /etc/yum.repos.d/epel-8.repo
Function: file.managed
Result: True
Comment: File /etc/yum.repos.d/epel-8.repo updated
Started: 19:30:37.283904
Duration: 120.463 ms
Changes:
----------
diff:
New file
mode:
0644
----------
ID: /etc/