Cluster SSH tool using MacOS
Working with several remote machines
CSSHX is a tool to allow simultaneous control of multiple ssh sessions. host1, host2, etc. are either remote hostnames or remote cluster names. csshX will attempt to create an ssh session to each remote host in separate Terminal.app windows. A master window will also be created.
All keyboard input in the master will be sent to all the slave windows. To specify the username for each host, the hostname can be prepended by user@. Similarly, appending :port will set the port to ssh to. You can also use hostname ranges, to specify many hosts.
Here is how to use it.
Install Homebrew
If you use Mac OS, you should probably know with Homebrew but just in case:
Home-brew is the missing package manager for OS X. Homebrew installs the stuff you need that Apple didn’t. To install it you just install the ruby package:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Then you can install certain packages that Apple does not include, like “wget”
brew install wget
Install CSSHX
brew install csshx
Run CSSHX
Very easy syntax to use the command.
csshX [--login *username*] [--config *filename*] [ *[user@]host1[:port]*[*[user@]host2[:port]*] .. ]ccshX ip ip ip ip
You can type in the red terminal and all the keys will be repeated into all the terminals. If you want to perform something in a specific terminal, just click on it and do it. Then go back into the red terminal. A little video seeing it in action: