i2cssh with the help of node and osascript
npm install node-i2cssh
npm -g install node-i2csshi2cssh 1.example.com 2.example.com 3.example.comby default, node-i2cssh is checking for a file called .i2csshrc in the users home directory. This can be overwritten with the -C option.
see i2csshrc.example.yml for an annotated example configuration
i2cssh -C ~/workspace/gitrepo/i2csshconfig.ymli2cssh -c dev -c stagingi2cssh -b foo1.bar foo2.bar foo3.bar= separator can be overridden in .i2csshrc -- see i2csshrc.example.yml).i2cssh -t env=staging -t end=devi2cssh -ti2cssh -u philipp foo1.barssh philipp@foo1.barAWS_SECRET_ACCESS_KEY and AWS_ACCESS_KEY_ID set as environment variables.alias i2cssh="envchain aws i2cssh $@"* fully support original .i2csshrc
* DONE ~~broadcast: (true/false) # Enable/disable broadcast on start~~
* login:
* profile:
* rank: (true/false) # Enable sending LC_RANK as an environment variable
* columns:
* rows:
* sleep:
* environment: # Send the following enviroment variables
* fully support original command line options
* DONE ~~-c, --clusters clus1,clus2 Comma-separated list of clusters specified in ~/.i2csshrc~~
* -m, --machines a,b,c Comma-separated list of hosts
* -f, --file FILE Cluster file (one hostname per line)
* -A, --forward-agent Enable SSH agent forwarding
* DONE (-u, --user) ~~-l, --login LOGIN SSH login name~~
* -e, --environment KEY=VAL Send environment vars (comma-separated list, need to start with LC_)
* -r, --rank Send LC_RANK with the host number as environment variable
* -F, --fullscreen Make the window fullscreen
* --columns COLUMNS Number of columns (rows will be calculated)
* --rows ROWS Number of rows (columns will be calculated)
* DONE ~~-b, --broadcast Start with broadcast input (DANGEROUS!)~~
* -nb, --nobroadcast Disable broadcast
* -p, --profile PROFILE Name of the iTerm2 profile (default: Default)
* -s, --sleep SLEEP Number of seconds to sleep between creating SSH sessions
* -X, --extra EXTRA_PARAM Additional ssh parameters (e.g. -Xi=myidentity.pem)