<返回更多

Linux运维:多主机ssh封装器mussh

2020-01-23    
加入收藏

mussh的全称是MUltihost SSH WrApper,它其实是一个 SSH 封装器,由一个 shell 脚本实现。通过mussh可以实现批量管理多台 远程 的功能。在大规模自动化 运维 环境中,mussh可以起到很好的补充作用。

1、mussh功能介绍

mussh和pssh、pdsh类似,都用于批量管理,并且可以互为补充,通过mussh可以同时在多台上执行命令或脚本,这里重点关注mussh执行脚本的功能。mussh可以把本地的脚本在多台上执行,这个功能十分有用,下面会做重点介绍。

要使用mussh的批量管理功能,仍然需要在本地管理和之间做的单向信任。

2、mussh的安装与语法

mussh的安装非常简单,这里下载的软件包为mussh-1.0.tgz,将安装包解压到本地管理 主机 上即可完成mussh的安装,解压出来的mussh命令可直接使用。

执行“mussh--help”命令即可获取mussh的详细用法,这里详细介绍mussh常用的一些参数及其含义和用法,如表1所示。

表1 mussh的常用参数及含义

3、mussh应用实例

mussh的使用方法与pssh、pdsh基本类似,在完成本地管理 主机 与 远程 多台 主机 之间的 SSH 认证之后,就可以使用mussh批量管理 远程 了。首先看一个最简单的mussh应用实例,如图1所示。

图1 mussh的应用实例

在这个例子中,主要使用了“-h”和“-c”参数(注意“-h”参数后面多台的写法),最后通过“-c”参数指定了在上要执行的命令,当需要执行多个命令时,每个命令之间用分号分隔。

当需要管理的较多时,可以将所有名或IP地址写到一个文件中,然后通过mussh的“-H”参数调用即可,如图2所示。

图2 mussh通过文件读取远程主机列表信息

这个例子用到了“-H”和“-l”两个参数,“-H”参数用来指定需要读取的列表文件,“-l”参数指定在上执行命令的用户为opsuser。

如果需要在上执行的命令较多,一个一个地执行mussh命令就会变得比较烦琐,此时可以将要执行的所有命令写到一个脚本文件中,然后通过mussh的“-C”参数调用即可,如图3所示。

图3 通过mussh命令将本地脚本在多台远程主机上执行

这个例子用到了“-o”、“-s”和“-C”三个新参数,如果 远程 主机 开放的ssh端口不是默认的22,那么需要通过mussh提供的“-o”参数来指定ssh的端口,这实际上是通过“-o”参数调用ssh服务配置文件ssh_config中的参数选项。 在执行一个本地脚本时,可以通过“-C”参数实现,这个脚本可以是 shell 脚本、 Python 脚本、Perl脚本等,只要 远程 服务器 上有这个执行环境就行,如果 远程 服务器 上的脚本执行路径不是默认的,那么需要通过“-s”参数指定执行脚本需要的 shell 路径。

至此,mussh的用法基本介绍完毕了。

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>