微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

multissh multissh 并行 SSH 执行工具

程序名称:multissh multissh

授权协议: Apache

操作系统: 跨平台

开发语言: Google Go

multissh multissh 介绍

multissh

一个简单的并行 SSH 工具,可以批量的对主机通过 SSH 执行命令组合。

支持

  • 并发执行

  • 单次执行多条命令

  • ip 地址段自动匹配主机(192.168.0.1-192.168.0.100)

  • ssh 用户名/密码认证

  • ssh key 认证

  • json 格式输出

  • 输出到文本,文件名为 host.txt

go get ./...
go build

可以直接下载编译好的 release 版本

提供 win64 和 linux64 两个平台的可执行文件

https://github.com/shanghai-edu/multissh/releases/

# ./multissh -h
Usage of ./multissh:
  -c string
        cfg File Path
  -ciphers string
        ciphers
  -cmdfile string
        cmdfile path
  -cmds string
        cmds
  -hostfile string
        hostfile path
  -hosts string
        host address list
  -ipfile string
        ipfile path
  -ips string
        ip address list
  -j    print output in json format
  -k string
        ssh private key
  -l    In linux mode,multi command combine with && ,such as date&&cd /opt&&ls
  -n int
        max execute number (default 20)
  -outTxt
        write result into txt
  -p string
        password
  -port int
        ssh port (default 22)
  -t int
        max timeout (default 30)
  -u string
        username
  -v    show version

cmdfile 示例

show clock

hostfile 示例

192.168.31.21
192.168.15.102

ipfile 示例

192.168.15.101-192.168.15.103
192.168.31.21-192.168.31.22

ssh.json 示例

{
    "SshHosts": [
        {
            "Host": "192.168.31.51",
            "Port": 22,
            "Username": "admin",
            "Password": "admin",
            "cmds":"show clock;show clock"
        },
        {
            "Host": "192.168.80.131",
            "Port": 22,
            "Username": "root",
            "Password": "",
            "key": "./server.key",
            "linuxMode": true,
            "CmdFile": "cmd2.txt.example"
        }
    ]
}

multissh multissh 官网

https://github.com/shanghai-edu/multissh

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐