Cómo mantener vivos los túneles SSH con AutoSh

Cómo mantener vivos los túneles SSH con AutoSh

AutoSh es una utilidad que le permite reiniciar automáticamente los túneles SSH si están desconectados o interrumpidos. Esto puede ser particularmente útil si necesita mantener una conexión persistente con un servidor remoto a través de un túnel SSH. En este artículo, explicaremos cómo instalar y usar AutoSh en Linux.

Paso 1: instalar AutoSh

AutoSSH está disponible en la mayoría de los repositorios de paquetes de distribuciones de Linux. Para instalarlo, abra un terminal y ejecute el siguiente comando:

sudo apt-get install AutoSsh  

Si está utilizando un administrador de paquetes diferente, puede buscar e instalar el paquete "AutoSh" utilizando el comando apropiado.

Paso 2: Configure un túnel SSH

Antes de que podamos usar AutoSh, necesitamos configurar un túnel SSH que pueda administrar. En este ejemplo, crearemos un túnel que reenvía el puerto local 8080 al puerto 80 en un servidor remoto.

Para crear el túnel, ejecute el siguiente comando en un terminal:

SSH -L 8080: Localhost: 80 [correo electrónico protegido]  

Este comando establecerá una conexión SSH con el servidor remoto y creará un túnel que reenvía el tráfico desde el puerto 8080 en su máquina local al puerto 80 en el servidor remoto.

Una vez que se establece el túnel SSH, puede probarlo abriendo un navegador web y navegando a http: // localhost: 8080. Si todo está configurado correctamente, debe ver la página web predeterminada para el servidor remoto.

Paso 3: Use AutoSH para administrar el túnel SSH

Ahora que tenemos un túnel SSH configurado y funcionando, podemos usar AutoSH para reiniciar automáticamente el túnel si está desconectado o interrumpido.

Para usar AutoSh, necesitamos modificar el comando ssh utilizado para crear el túnel. Aquí hay un ejemplo:

AutoSH -M 0 -O "ServerAliveNinterval 30" -O "Serveralivecountmax 3" -n -f -l 8080: localhost: 80 [correo electrónico protegido]  

Este comando es similar al comando ssh que usamos para crear el túnel antes, pero incluye algunas opciones adicionales que le dicen a AutoSH que administre el túnel.

  • El -M 0 La opción le dice a AutoSh que use un puerto de monitoreo incorporado para detectar si el túnel SSH ha desconectado.
  • El -o "ServeraliveInterval 30" y -o "Serveralivecountmax 3" Opciones le indique a AutoSH que envíe paquetes Keepalive cada 30 segundos e intente volver a conectarse si fallan tres paquetes consecutivos de Keepalive.
  • El -N -F Opciones le indique a SSH que cree el túnel en segundo plano sin ejecutar ningún comando remoto.

Paso 4: Prueba AutoSh

Para probar AutoSh, desconectar su conexión a Internet o detener manualmente el túnel SSH presionando 'Ctrl + C'. AutoSh debe detectar que el túnel se ha desconectado y reiniciarlo automáticamente.

Puede verificar que el túnel se haya reiniciado navegando a http: // localhost: 8080 En tu navegador web.

Conclusión

En este artículo, hemos explicado cómo instalar y usar AutoSh en Linux. Autosh puede ser una herramienta valiosa para mantener conexiones SSH persistentes sobre conexiones de red inestables o poco confiables. Al usar AutoSh, puede asegurarse de que sus túneles SSH permanezcan operativos incluso si la conexión se interrumpe.