All pastes #798181 Raw Edit

Miscellany

public text v1 · immutable
#798181 ·published 2007-11-26 17:10 UTC
rendered paste body
# Check for existence of needed config file and read it
SSHTUN_CONFIG=/etc/ssh_tunnel
test -r ${SSHTUN_CONFIG} || { echo "${SSHTUN_CONFIG} not existing";
        if [ "$1" = "stop" ]; then exit 0;
        else exit 6; fi; }
. /etc/ssh_tunnel

## Extracting into array form, our variables from the config
## file.
rm_port=$(REMOTE_PORT)
lc_port=$(LOCAL_PORT)
dst_host=$(DEST_HOST)
dst_port=$(DEST_PORT)
## Get functions from functions library
. /etc/init.d/functions

## Starting our ssh_tunneler

start() {
         echo -n "Starting ssh_tunneler:"
        if [ "${REMOTE}"  = "1" ]; then
        echo -n "setting up ${NO_TUN} remote-forward ssh tunnels."
                for n in $NO_TUN ; do
        /usr/bin/ssh -2 -q -f -N -g -R ${rm_port}:${dst_host}:${dst_port} ${REMOTE_HOST}
        done
        else

        echo -n "setting up ${NO_TUN} local-forward ssh tunnels."
                for n in ${NO_TUN} ; do
                /usr/bin/ssh -2 -q -f -N -g -L ${lc_port}:${dst_host}:${dst_port} ${REMOTE_HOST}
                done
        fi

        ## Creating a lockfile
        touch /var/lock/subsys/ssh_tunneler
        }

## Stopping our ssh_tunneler

stop() {
        echo -n "Stopping ssh_tunneler: "
        TUN_PID=`ps aux | grep ssh | grep ${REMOTE_HOST} | awk '{print $2}'`
        /bin/kill $TUN_PID
        ## Delete the lockfile
        rm -f /var/lock/subsys/ssh_tunneler
        echo
}