美文网首页LinuxPython
多主机ssh封装器mussh

多主机ssh封装器mussh

作者: 星月落 | 来源:发表于2022-01-20 21:02 被阅读0次

    内容来源(公众号:PHP版WEB项目)mussh的全称是MUltihost SSH Wrapper,它其实是一个SSH封装器,由一个shell脚本实现。通过mussh可以实现批量管理多台远程主机的功能。在大规模自动化运维环境中,mussh可以起到很好的补充作用。

    一、mussh功能介绍

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

    要使用mussh的批量管理功能,仍然需要在本地管理主机和远程主机之间做SSH的单向信任,这个在介绍pssh时已经做过详细介绍,这里不再进行说明。

    二、mussh的安装与语法

    mussh的安装非常简单,读者可以在http://mussh.sourceforge.net/获取mussh的安装包。目前mussh的最新版本是mussh-1.0。这里下载的软件包为mussh-1.0.tgz,将安装包解压到本地管理主机上即可完成mussh的安装,解压出来的mussh命令可直接使用。

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

    三、mussh应用实例

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

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

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

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

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

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

    C”参数实现,这个脚本可以是shell脚本、Python脚本、Perl脚本等,只要远程服务器上有这个执行环境就行,如果远程服务器上的脚本执行路径不是默认的,那么需要通过“-s”参数指定执行脚本需要的shell路径。

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

    相关文章

      网友评论

        本文标题:多主机ssh封装器mussh

        本文链接:https://www.haomeiwen.com/subject/gekshrtx.html