Poniżej przedstawiam skrypt dla systemu OpenWRT do tworzenia zdalnego tunelu SSH

 

 Tworzymy plik:

/bin/tunel.sh
#!/bin/sh
 
#opkg update && opkg install procps-pkill
 
SSH_TUNEL_PORT="1234"
USERNAME="root"
REMOTE_HOST="servea.pl"
 
# $COMMAND is the command used to create the reverse ssh tunnel
#COMMAND="ssh -p $SSH_PORT -q -N -R $REMOTE_HOST:$REMOTE_HTTP_PORT:localhost:80 $USER_NAME@$REMOTE_HOST"
 
COMMAND="ssh -f -NT -R ${SSH_TUNEL_PORT}:localhost:22 ${USERNAME}@${REMOTE_HOST} -i /root/rsa_secret.txt"
if [ $(pgrep -f "${COMMAND}" | wc -l) -gt "1" ]; then
	for i in $(pgrep -f "${COMMAND}"); do
		kill -9 ${i}
	done
fi
 
pgrep -f "${COMMAND}" > /dev/null 2>&1 || ${COMMAND}
 
# 2. Test tunnel by looking at "netstat" output on $REMOTE_HOST
 
ssh $USERNAME@$REMOTE_HOST -i /root/rsa_secret.txt netstat -an | egrep "tcp.*127.0.0.1:${SSH_TUNEL_PORT}.*LISTEN" > /dev/null 2>&1
if [ $? -ne 0 ] ; then
	pkill -f -x "$COMMAND"
	pgrep -f "${COMMAND}" > /dev/null 2>&1 || ${COMMAND}
fi

I dodajemy do crona wykonanie pliku /bin/tunel.sh np. co 1 min. Nie zapominamy o nadaniu praw wykonania do tego pliku:

/etc/crontabs/root
*/1 * * * * /bin/tunel.sh > /dev/null 2>&1

Dodaj komentarz


Kod antyspamowy
Odśwież