Skip to content

Instantly share code, notes, and snippets.

@muayyad-alsadi
Forked from dmytro/ssh-multi.sh
Last active October 29, 2015 12:12
Show Gist options
  • Save muayyad-alsadi/bd25845776bb6b4185ba to your computer and use it in GitHub Desktop.
Save muayyad-alsadi/bd25845776bb6b4185ba to your computer and use it in GitHub Desktop.
Start multiple synchronized SSH connections with Tmux
#!/bin/bash
# ssh-multi.sh - a script to ssh multiple servers over multiple tmux panes
# usage: type tmux then from inside tmux type ssh-multi.sh HOST1 HOST2 ... HOSTN
# Muayyad Alsadi, D.Kovalov
# https://gist.github.com/muayyad-alsadi/bd25845776bb6b4185ba/
# https://gist.github.com/dmytro/3984680
# Based on http://linuxpixies.blogspot.jp/2011/06/tmux-copy-mode-and-how-to-control.html
function error() {
echo "$@" >&2
exit -1
}
function starttmux() {
host1=`shift`
tmux new-window "ssh $host1"
for i in "$@"; do
tmux split-window -h "ssh $i"
tmux select-layout tiled > /dev/null
done
tmux select-pane -t 0
tmux set-window-option synchronize-panes on > /dev/null
}
[ $# -lt 1 ] && error "usage: $0 HOST1 HOST2 ..."
tmux refresh -S 2>/dev/null && starttmux "$@" || error "please run from inside tmux"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment