以下在 master 操作:
(1) 我们在安装部署 SaltStack 的时候,需要安装 salt 客户端,还要与 salt 服务端进行认证才能互相通信
(2) 如果我们使用 salt-ssh 的方式就不需要安装 salt 客户端,也不需要做认证,是 master 基于 ssh 去连接 minion 的
[root@localhost ~]$ yum install -y https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el7.noarch.rpm # 安装salt源 [root@localhost ~]$ yum install -y salt-ssh # 安装salt-ssh
[root@localhost ~]$ cat /etc/salt/roster # 编辑salt-ssh配置文件 minion01: # 指定客户端主机名 host: 192.168.119.140 # 指定客户端IP user: root # 指定登录用户 passwd: root # 指定登录密码 port: 22 # 指定ssh端口
[root@localhost ~]$ salt-ssh --key-deploy '*' -r 'w' # 使用salt-ssh远程执行'w'命令,-r 表示直接使用 shell 命令 minion01: # --key-depoly表示第一次执行的时候会把master上的公钥推送到minion上,这样我们就可以把/etc/salt/roster里的密码删掉了 ---------- # 以下,第一次执行会提示是否确认连接,所以要再跑一次salt-ssh retcode: 254 stderr: stdout: The host key needs to be accepted, to auto accept run salt-ssh with the -i flag: The authenticity of host '192.168.119.140 (192.168.119.140)' can't be established. ECDSA key fingerprint is SHA256:CxwMdrL3tICHpeDJ3sa97XInJlKjs4oNFZ0/0wV9Vmk. ECDSA key fingerprint is MD5:a6:25:3c:a6:02:fc:f0:12:70:76:43:33:6c:55:d5:39. Are you sure you want to continue connecting (yes/no)?
[root@localhost ~]$ salt-ssh --key-deploy '*' -r 'w' # 再跑一次就不会有提示了 [root@localhost ~]$ vim /etc/salt/roster # 把密码去掉 [root@localhost ~]$ salt-ssh '*' -r 'w' # 继续再跑一次,不需要再加--key-depoly