High performance, simultaneous command execution on many hosts over SSH.
A personal take on mass SSH tailored to my personal needs, but possibly useful to others.
- Support for high and configurable concurrency
- File upload/download
- Programmable screen and log output
- Pause and resume
- Progress & status bar
- Run shell commands or upload & execute files
You need to have at least Go 1.19 available to compile the source.
git clone https://github.com/randstring/MeSSH.git
cd MeSSH
go build messh.go
Run simple command
messh -f hostlist.txt uname -a
Upload and run whole script
echo "uname -a" > script.sh
echo "date" >> script.sh
messh -f hostlist.txt -x script.sh
Transfer a file
messh -f hostlist.txt -U sample.txt cat sample.txt
Log output
messh -f hostlist.txt -l 'Alias+".txt"' --log-template 'Out' uname -a