No olvides que en las ciencias informáticas un problema casi siempere puede tener varias resoluciones, no obstante aquí enseñamos lo más óptimo y eficiente.
Solución:
Netcat es tu amigo:
nc -z localhost 6000 || echo "no tunnel open"
Esta es mi prueba. Espero que sea útil.
# $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 [email protected]$REMOTE_HOST"
# Is the tunnel up? Perform two tests:
# 1. Check for relevant process ($COMMAND)
pgrep -f -x "$COMMAND" > /dev/null 2>&1 || $COMMAND
# 2. Test tunnel by looking at "netstat" output on $REMOTE_HOST
ssh -p $SSH_PORT [email protected]$REMOTE_HOST netstat -an | egrep "tcp.*:$REMOTE_HTTP_PORT.*LISTEN"
> /dev/null 2>&1
if [ $? -ne 0 ] ; then
pkill -f -x "$COMMAND"
$COMMAND
fi
Autossh es la mejor opción: el proceso de verificación no funciona en todos los casos (por ejemplo, proceso zombi, problemas relacionados con la red)
ejemplo:
autossh -M 2323 -c arcfour -f -N -L 8088:localhost:80 host2
Reseñas y puntuaciones
Tienes la opción de estimular nuestra misión escribiendo un comentario y dejando una puntuación te damos las gracias.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)