summaryrefslogtreecommitdiff
path: root/localautossh
diff options
context:
space:
mode:
Diffstat (limited to 'localautossh')
-rwxr-xr-xlocalautossh41
1 files changed, 33 insertions, 8 deletions
diff --git a/localautossh b/localautossh
index 053394d..f49580c 100755
--- a/localautossh
+++ b/localautossh
@@ -6,8 +6,37 @@
# to 22 on the local host. On remote host do:
# ssh -p 2200 localhost
#
-# $Id: localautossh,v 1.2 2008-03-28 09:28:55 jonas Exp $
-#
+# Recommends: notify-bin
+
+set -e
+
+action="$1"
+remotehost="$2"
+remoteport="${3:-2200}"
+
+info() {
+ if [ -n "$DISPLAY" ] && [ -e /usr/bin/notify-send ]; then
+ notify-send "$1" "$2"
+ else
+ echo >&2 "$1"
+ echo >&2 "$2"
+ fi
+}
+
+case "$action" in
+ start)
+ info "Starting remote help..." "Establishing a connection tunnel from $remotehost into this machine..."
+ ;;
+ stop)
+ killall -KILL autossh
+ info "Remote help is off!" "Connection tunnels into this machine is now inactive."
+ exit $?
+ ;;
+ *)
+ echo 2>& "Wrong action passed to localautossh!"
+ exit 1
+ ;;
+esac
if [ -z "$SSH_ASKPASS" ]; then
export SSH_ASKPASS="ssh-askpass"
@@ -18,11 +47,6 @@ if [ "X$SSH_AUTH_SOCK" = "X" ]; then
ssh-add $HOME/.ssh/id_rsa
fi
-remoteport="2200"
-if [ -n "$2" ]; then
- remoteport="$(expr 2200 + "$2")"
-fi
-
#AUTOSSH_POLL=600
#AUTOSSH_PORT=20000
#AUTOSSH_GATETIME=30
@@ -31,4 +55,5 @@ fi
#AUTOSSH_PATH=/usr/local/bin/ssh
export AUTOSSH_POLL AUTOSSH_LOGFILE AUTOSSH_DEBUG AUTOSSH_PATH AUTOSSH_GATETIME AUTOSSH_PORT
-autossh -2 -fN -M 20000 -R $remoteport:localhost:22 "$1"
+autossh -2 -f -N -M 20000 -R $remoteport:localhost:22 "$remotehost"
+info "Remote help is on!" "Connection tunnel from $remotehost into this machine is now active."