Ssh-tunnel: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Admin (Diskussion | Beiträge) K (1 Version) |
Aktuelle Version vom 7. Juli 2009, 11:26 Uhr
Beipielskript für einen ssh-Tunnel
#!/bin/bash
SSH=/usr/bin/ssh
SSHTUNNEL=$(netstat -ltnp | grep ssh | grep -v ":22" | cut -f 2 -d : | tr -s " " | cut -f 1 -d " ")
case $1 in
start)
shift
# -f gehe in den hintergrund
# -g lausche auf allen interfaces
# -N fuehre kein remote-kommandos aus
# -l benutzer
# -L lokaler tunnelmodus
LOCALPORT=$2
ZIEL=$3
ZIELPORT=$4
SSHSERVER=$1
if test "$#" -eq 4
then
$SSH -f -g -N -l root $SSHSERVER -L $LOCALPORT:$ZIEL:$ZIELPORT
else
echo "Die Syntax lautet: $0 start sshserver localport zielrechner zielport"
fi
;;
list)
set $SSHTUNNEL
COUNT=1
while [ $# -ne "0" ]
do
echo "Tunnel $COUNT = Forward Port $1"
shift
COUNT=$(($COUNT+1))
done
;;
kill)
shift
if test "$#" -eq "1"
then
SHIFT=$1
set $SSHTUNNEL
if test $# -ge $SHIFT
then
shift $(($SHIFT-1))
fuser -kn tcp $1
else
echo "kein TUNNEL"
fi
else
echo "Die Syntax lautet: $0 kill TUNNEL"
fi
;;
*)
echo "Die Syntax lautet: start|list|kill"
;;
esac