diff --git a/Documents/bin/forward b/Documents/bin/forward new file mode 100755 index 0000000000000000000000000000000000000000..9d153096d1051f4e12c43e20017838f647138c9d --- /dev/null +++ b/Documents/bin/forward @@ -0,0 +1,16 @@ +#!/bin/sh +set -eu + +usage () { + echo "Usage: $0 host forward" +} + +host="$1" || { usage >> /dev/stderr; exit 1; } +forward="$2" || { usage >> /dev/stderr; exit 1; } +alias ssh='ssh -fnNTS ~/.ssh/%C.sock' + +if ! ssh -O check -L "$forward" "$host" +then + ssh -o ControlMaster=auto -o ControlPersist=0 -o ExitOnForwardFailure=no -o ControlPersist=0 "$host" + ssh -O forward -L "$forward" "$host" +fi