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

23 feb 2023 2 min di lettura
Cómo mantener vivos los túneles SSH con Autossh
Indice dei contenuti

Introducción

Autossh es un programa de código abierto que le permite mantener una conexión SSH activa de manera confiable, incluso en presencia de cortes de red o desconexiones accidentales.

Autossh funciona reconectando automáticamente en caso de una interrupción de la red, restaurando la conexión SSH existente sin necesidad de intervención manual. Además, Autossh puede reanudar las conexiones interrumpidas automáticamente sin necesidad de restablecer la contraseña de autenticación.

En esencia, Autossh funciona como un envoltorio del programa SSH estándar, proporcionando un control adicional sobre las conexiones SSH y el manejo de errores de red. Esto convierte a Autossh en una solución muy útil para conexiones SSH cifradas y seguras, especialmente para aplicaciones que requieren una conexión constante, como controlar un servidor de forma remota o acceder a los recursos de la red de forma remota.

Instalar Autossh

Autossh está disponible en los repositorios de paquetes de la mayoría de las distribuciones de Linux. Para instalarlo, abre una terminal y ejecuta el siguiente comando:

sudo apt-get install autossh

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

Configurar un túnel SSH

Antes de que podamos usar Autossh, debemos configurar un túnel SSH que pueda manejar. 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 una terminal:

ssh -L 8080:localhost:80 remote-user@remote-server

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, debería ver la página web predeterminada para el servidor remoto.

Use Autossh para administrar el túnel SSH

Ahora que tenemos un túnel SSH configurado y en ejecución, podemos usar Autossh para reiniciar automáticamente el túnel si está desconectado o detenido.

Para usar Autossh, necesitamos editar el comando SSH usado para crear el túnel. Aquí hay un ejemplo:

autossh -M 0 -o "ServerAliveInterval 30" -o "ServerAliveCountMax 3" -N -f -L 8080:localhost:80 remote-user@remote-server

Este comando es similar al comando SSH que se usó para crear el túnel anteriormente, pero incluye algunos interruptores adicionales que le indican a Autossh que administre el túnel.

  • La opción -M 0 le dice a Autossh que use un puerto de monitoreo integrado para detectar si el túnel SSH se ha desconectado.
  • Las opciones -o "ServerAliveInterval 30" y -o "ServerAliveCountMax 3" le indican a Autossh que envíe paquetes keepalive cada 30 segundos e intente volver a conectarse si fallan tres paquetes keepalive consecutivos.
  • Las opciones -N -f le indican a SSH que cree el túnel en segundo plano sin ejecutar ningún comando remoto.

Prueba Autosh

Para probar Autossh, desconecte su conexión a Internet o detenga manualmente el túnel SSH presionando `CTRL + C`. Autossh debería detectar que el túnel se ha desconectado y reiniciarlo automáticamente.

Puede verificar que el túnel se ha reiniciado accediendo a http://localhost:8080 en su navegador web.

Conclusión

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

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.