diff --git a/env_files/ssh-tunnel-example.env b/env_files/ssh-tunnel-example.env new file mode 100644 index 0000000..4e2851f --- /dev/null +++ b/env_files/ssh-tunnel-example.env @@ -0,0 +1,5 @@ +local_ip=192.168.2.109 +local_ip_on_remote=localhost +local_port=5432 +local_port_on_remote=5432 +remote_host=federal-non-interactive diff --git a/start-ssh-tunnel.sh b/start-ssh-tunnel.sh new file mode 100644 index 0000000..4609fad --- /dev/null +++ b/start-ssh-tunnel.sh @@ -0,0 +1,22 @@ +#! /bin/sh +# + +if [ "$#" -eq 0 ] || [ "$#" -gt 1 ]; then + echo takes only one argument + exit 1 +fi + +if [ ! -e "${1}" ]; then + echo cannot find "${1}" + exit 1 +fi + +# shellcheck source=./env_files/ssh-tunnel-example.env +. "${1}" + +ssh \ + -v \ + -N \ + -L \ + "${local_ip}:${local_port}:${local_ip_on_remote}:${local_port_on_remote}" \ + "${remote_host}"