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