Cómo configurar un túnel SSH en Linux

Cómo configurar un túnel SSH en Linux

Configurar un túnel SSH en Linux puede ser una forma útil de proteger su privacidad y seguridad en línea. Un túnel SSH cifra su tráfico de Internet y lo enruta a través de un túnel seguro a un servidor remoto, lo que hace que sea prácticamente imposible que cualquiera intercepte o lea sus datos. En este artículo, le mostraremos cómo configurar un túnel SSH en Linux usando la línea de comandos.

Lo que necesitarás

Antes de comenzar, necesitará algunas cosas:

  • Una computadora de Linux
  • Acceso a un servidor remoto que admite SSH

Comando SSH básico

Primero, abra una ventana de terminal en su computadora Linux. Puede hacerlo presionando Ctrl+Alt+T o navegando al menú de aplicaciones y buscando "terminal".

Para configurar un túnel SSH en Linux, usaremos el comando ssh. La sintaxis básica para el comando ssh es la siguiente:

ssh [user@] hostname [-p puerto] [comando]
1ssh [user@] hostname [-p puerto] [comando]

Esto es lo que hace cada parte del comando:

  • [[correo electrónico protegido]] nombre de host: El servidor remoto al que desea conectarse. Puede especificar el nombre de usuario para usar para la conexión antes del nombre de host, como este: [correo electrónico protegido]
  • [-p puerto]: El número de puerto a usar para la conexión SSH. Por defecto, SSH usa el puerto 22, pero puede especificar un número de puerto diferente si es necesario.
  • [dominio]: El comando que desea ejecutar en el servidor remoto. En este caso, vamos a crear un túnel SSH, por lo que no necesitamos especificar un comando.

Configure el túnel SSH local

El túnel SSH local se utiliza para reenviar un puerto local a un servidor remoto. Por ejemplo, si tiene un servidor web que se ejecuta en su máquina local al que desea acceder desde un servidor remoto, puede usar túneles SSH locales para reenviar el puerto del servidor web al servidor remoto. Aquí hay un ejemplo:

ssh -l [local_port]: [remoto_host]: [remoto_port] [user@] hostname -p [puerto]
1ssh -l [local_port]: [remoto_host]: [remoto_port] [user@] hostname -p [puerto]

Esto es lo que hace cada parte del comando:

  • -L [local_port]: [remoto_host]: [remoto_port]: Especifica el número de puerto local que se utilizará para el túnel SSH (local_port), el número de host remoto y el número de puerto para conectarse a través del túnel SSH (remotos_host: remoto_port).
  • [[correo electrónico protegido]] nombre de host: El servidor remoto al que desea conectarse. Puede especificar el nombre de usuario para usar para la conexión antes del nombre de host, como este: [correo electrónico protegido]
  • -P [puerto]: El número de puerto a usar para la conexión SSH. Por defecto, SSH usa el puerto 22, pero puede especificar un número de puerto diferente si es necesario.

Por ejemplo, si desea configurar un túnel SSH en el puerto 8080 Para acceder a un servidor web en un servidor remoto con la dirección IP 192.168.1.100, Usaría el siguiente comando:

ssh -l 8080: localhost: 80 [correo electrónico protegido] -p 22  

Este comando establece un túnel SSH que mapea el puerto local 8080 al puerto 80 del servidor remoto, lo que le permite acceder al servidor web del servidor remoto en su máquina local navegando a "http: // localhost: 8080" en su navegador web.

Configure el túnel SSH remoto

El túnel SSH remoto se utiliza para reenviar un puerto remoto a una máquina local. Por ejemplo, si tiene un servidor de base de datos que se ejecuta en un servidor remoto al que desea acceder desde su máquina local, puede usar el túnel SSH remoto para reenviar el puerto del servidor de la base de datos a su máquina local. Aquí hay un ejemplo:

SSH -R 3306: Localhost: 3306 [correo electrónico protegido]  

Este comando reenvía el puerto 3306 en el servidor remoto al puerto 3306 en su máquina local. Luego puede conectarse al servidor de la base de datos que se ejecuta en el servidor remoto conectándose a localhost: 3306 en su máquina local.

Configure el túnel SSH inverso

El túnel SSH inverso se utiliza para permitir que un servidor remoto se conecte a una máquina local. Por ejemplo, si tiene una máquina local que ejecuta un servidor web al que desea permitir el acceso desde un servidor remoto, puede usar el túnel SSH inverso para crear una conexión segura entre las dos máquinas. Aquí hay un ejemplo:

En su máquina local, ejecute el siguiente comando:

ssh -r 8080: localhost: 80 [correo electrónico protegido] 

Este comando reenvía el puerto 8080 en el servidor remoto al puerto 80 en su máquina local. Luego puede acceder al servidor web que se ejecuta en su máquina local conectándose a http: //-servidor remoto.com: 8080.

Al usar el túnel SSH, puede acceder de forma segura a los recursos en servidores remotos y a los puertos reenviados entre máquinas sin exponerlos a Internet público.

Mantenga el túnel SSH activo

Recuerde que los túneles SSH requieren una conexión activa al servidor remoto para permanecer abiertos. Si la conexión se interrumpe por algún motivo, el túnel estará cerrado y deberá configurarla nuevamente.

Para evitar esto, puede usar una herramienta como AutoSh, que vuelve a conectar automáticamente el túnel SSH si se pierde la conexión.

Conclusión

Configurar un túnel SSH en Linux puede ser una forma útil de proteger su privacidad y seguridad en línea. Al usar el comando ssh, puede crear fácilmente un túnel seguro a un servidor remoto y enrutar su tráfico de Internet a través de él. Siguiendo los pasos