Ssh-tunnel
Zur Navigation springen
Zur Suche springen
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