Saltar al contenido

ssh: comprobar si un túnel está vivo

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)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *