博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
salt-ssh使用说明
阅读量:5743 次
发布时间:2019-06-18

本文共 3648 字,大约阅读时间需要 12 分钟。

简介:

salt-ssh 是通过ssh协议执行命令进行管理服务器,不需要在服务器端安装minion客户端,如时有安装minion也可以调用minion模块;salt-ssh有点类似ansible 无客户端基于ssh协议进行管理服务器.通过roser(/etc/salt/roser)配置文件.

roser配置文件格式说明

配置文件格式及说明参考官方文档 

以下是本人参考翻译官方文档

: # 定义引用目标系统的标识ID host: # 主机IP或域名 user: # 目标主机用户名 passwd: # 目标主机密码 #以下是可选项 port: # 主机 ssh连接端口,如果是默认22 可以省略 sudo: # 是否以sudo方式 执行 (True|False) tty: # 布尔类型: 如果设置为True 同时sudo也设置为True # 目标主机的sudoer配置文件中 requiretty 也需要配置 priv: #文件路径用ssh私钥,默认为 salt-ssh.rsa #的私钥也可以设置为agent-forwarding timeout: #接数字是秒,连接超时时间 minion_opts: #minion 目录 thin_dir: #目标存储目录. 默认存到 /tmp/salt-
. cmd_umask: # umask to enforce for the salt-call command. Should be in # octal (so for 0o077 in YAML you would do 0077, or 63)

salt-ssh作用使用场景

主要作用是不需要安装minion,只要ssh协议开放,即可远程执行命令,可用作拿到一批新机器,批量配置时使用,也可以直接通过salt-ssh不安装minion进行管理.

salt-ssh安装

RHEL/CentOS可以直接通过 yum安装,但前提需要安装epel扩展库

本次测试在CentOS6.8 X64(salt-master)下 且已经安装过salt-master
被管理的主机 CentOS7.2 X64

#yum install epel-release -y

#yum install salt-ssh -y
安装好检查:
rpm -qa |grep salt-ssh-*
salt-ssh-2015.5.10-2.el6.noarch

查看salt-ssh使用帮助 

直接运行命令就会出现命令的使用帮助
也可以访问:
#salt-ssh

salt-ssh使用实例之无minion客户端

修改配置文件来添加管理172.16.3.152主机:

#cat /etc/salt/roster |egrep -v '(^$|^#)'

web2:  host: 172.16.3.152  user: root  passwd: redhat

此时就可以通过salt-ssh 命令来远程管理 web2这台主机

#salt-ssh -i web2 -r "ifconfig" 

如图:
salt-ssh使用说明

说明: -r 表示 调用原生shell命令;-i 表接收链接,一般第一次登录主机 时添加

类似如下提示,此时就需要加-i

web2:    ----------    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 '172.16.3.152 (172.16.3.152)' can't be established.        RSA key fingerprint is cf:0b:4b:a0:30:75:fc:75:9d:f5:7c:79:76:45:55:b5.        Are you sure you want to continue connecting (yes/no)?

salt-ssh私钥管理远程主机(安装minion)

本实例说明:

有一台主机通过私钥无密码管理,连接端口10022,私钥为san;现在通过salt-ssh进行远程管理

配置文件:

#cat /etc/salt/roster |egrep -v '(^$|^#)'

YN_zgws:  host: 172.16.3.152  port: 10022  user: san  priv: /home/san/san

调用原生shell命令执行

#salt-ssh web2 -r "sudo ifconfig"
执行结果如图:
salt-ssh使用说明

调用minion cmd.run模块执行命令:

salt-ssh使用说明

可以看出salt-ssh在没有minion情况下可以调原生shell管理主机,有minion时可以调用minion的模块来管理主机;

salt-ssh使用ssh协议来管理无minion时很适合做初始化工作,包括安装minion端.

补充:

私钥无密码管理主机配置
在salt-ssh所在主机上执行
#ssh-keygen -t rsa

Generating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa.Your public key has been saved in /root/.ssh/id_rsa.pub.The key fingerprint is:4b:b3:fa:cf:58:1a:3a:e2:83:cd:85:f9:da:68:2d:f6 root@web02_135The key's randomart image is:+--[ RSA 2048]----+|                 ||                 ||                 ||                 ||     o  S        ||    o .. +       ||   + +  + .      ||  . Oo+o *       ||   ++*Eo+.o      |+-----------------+生成私钥 /root/.ssh/id_rsa公钥:/root/.ssh/id_rsa.pub切换到/root/.ssh下

同步公钥到172.16.3.152

#ssh-copy-id -i id_rsa.pub root@172.16.3.152

root@172.16.3.152's password: Now try logging into the machine, with "ssh 'root@172.16.3.152'", and check in:  .ssh/authorized_keysto make sure we haven't added extra keys that you weren't expecting.

测试无密钥登录

#hostnameweb02_135#ssh root@172.16.3.152Last login: Fri Dec  1 15:20:18 2017 from 172.16.3.147#hostnameweb2_172_16_3_152

可以看到已经 通过私钥无密码登录成功.

本文转自 dyc2005 51CTO博客,原文链接:http://blog.51cto.com/dyc2005/2046443,如需转载请自行联系原作者
你可能感兴趣的文章
Tomcat 配置和spring-framework MVC配置简介
查看>>
Gridview使用CheckBox全选与单选
查看>>
【SAS NOTE】用file+put实现结果输出
查看>>
diff 与patch
查看>>
wget简单使用
查看>>
【推荐】捕获WCF服务端与客户端产生的通讯数据并分析
查看>>
中国政法大学具体位置在哪?
查看>>
Extjs textfield keyup事件
查看>>
一个在线预览所有原生 HTML5 表单元素效果的网站
查看>>
百度地图 测距
查看>>
POJ-2400 Supervisor, Supervisee 带权值匹配+枚举所有匹配情况
查看>>
修改Oracle表空间的大小
查看>>
在JXSE中,DHT=SRDI
查看>>
深入理解 NodeList
查看>>
PLSQL 操作 ORACLE 服务器上的文件
查看>>
Windows 8 应用商店应用开发 之 轮廓样式
查看>>
标记页面CSS样式表初解
查看>>
最近对WinForm与控制台程序的了解
查看>>
文档问题机房合作项目总结-心里导航
查看>>
应用清除打车APP加价惹争议 政府责令清除
查看>>