GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo utilizar el reenvío de puertos SSH

Introducción

El reenvío de puertos SSH a menudo se conoce como tunelización SSH, y los dos términos se usan indistintamente.

El "túnel" SSH encriptado sirve como un recipiente para transferir una variedad de datos y entregarlos de manera segura al sistema remoto. Este método se usa regularmente para eludir los protocolos de seguridad de firewall estándar. El reenvío de puertos es un componente de la mayoría de los programas de servidor y cliente SSH.

Descubra cómo usar OpenSSH para Linux y el cliente Windows PuTTY para habilitar el reenvío de puertos SSH local, remoto o dinámico.

Requisitos previos

  • Un cliente/servidor SSH de su elección (OpenSSH o PuTTY)
  • Una dirección IP accesible o el nombre del servidor local/remoto

Cómo utilizar el reenvío de puerto local

Los recursos de red valiosos generalmente no permiten el acceso SSH remoto. Esta sería una grave limitación en un entorno distribuido moderno. Las organizaciones suelen resolver este problema configurando un servidor de "salto" SSH intermediario para aceptar conexiones SSH remotas.

Su cliente SSH local establece una conexión con el servidor SSH remoto. Luego, la conexión se reenvía a un recurso dentro de la red interna confiable. Se establecen conexiones SSH y los esfuerzos de seguridad pueden concentrarse en el servidor SSH intermediario en lugar de los recursos individuales en una red.

Reenvío de puertos locales con OpenSSH

Para utilizar túneles SSH en Linux, debe proporcionar a su cliente los números de puerto de origen y destino, así como la ubicación del servidor de destino. La ubicación puede ser una dirección IP o un nombre de host .

La sintaxis básica para un reenvío de puerto local el comando es directo:

ssh -L local_port:destination_server_ip:remote_port ssh_server_hostname

ssh – Inicia el programa de cliente SSH en la máquina local y establece una conexión segura con el servidor SSH remoto.

-L local_port:destination_server_ip:remote_port – El puerto local del cliente local se reenvía al puerto del servidor remoto de destino.

ssh_server_hostname – Este elemento de la sintaxis representa el nombre de host o la dirección IP del servidor SSH remoto.

Un ejemplo práctico de un comando de reenvío de puerto SSH tendría la siguiente forma:

ssh –L 5901:188.17.0.5:4492 [email protected]

En el ejemplo anterior, todo el tráfico enviado al puerto 5901 en su host local se está reenviando al puerto 4492 en el servidor remoto ubicado en 188.17.0.5.

Reenvío de puerto local con PuTTY

PuTTY es un cliente SSH fácil de usar para Windows. Configure el túnel SSH local siguiendo estos pasos:

  1. Cuando inicia la aplicación PuTTY, las Sesiones La pantalla le permite ingresar el nombre de host o la dirección IP y el número de puerto del servidor SSH de destino (Ejemplo:[email protected] y número de puerto 22).
  1. Usar la categoría lista a la izquierda para navegar a Conexión> SSH> Túneles .
  2. Seleccione Local para definir el tipo de reenvío de puerto SSH.
  1. Ingrese su número de puerto local en el Puerto de origen campo.
  2. Escriba la dirección de destino y el número de puerto en Destino campo. Utilice el siguiente formato:destination_server_ip:remote_port.
    (por ejemplo, Puerto de origen:5901, Destino:188.17.0.5:4492)
  3. Una vez que verifique que la información que ingresó es correcta, seleccione Agregar .
  4. Los parámetros para la conexión ya están establecidos. El Abierto La opción inicia el reenvío de puerto SSH local.

Cómo usar el reenvío de puerto remoto

El propósito del reenvío remoto es permitir que un servidor remoto acceda a los recursos en su máquina local. El reenvío remoto representa una inversión del proceso de reenvío local que exploramos anteriormente.

Reenvío de puertos remoto con OpenSSH

La sintaxis básica para un reenvío de puerto remoto El comando es el siguiente:

ssh -R remote_port:localhost:local_port ssh_server_hostname

En este ejemplo, le hemos dado instrucciones al servidor remoto ssh.server.com para reenviar cualquier conexión dirigida al puerto 8080 al recurso local escuchando en el puerto 5534 .

ssh –R 8080:localhost:5534 [email protected]

Los usuarios con acceso al servidor SSH ahora pueden acceder a los recursos en su máquina local.

Reenvío de puertos remoto con PuTTY

  1. Inicie la aplicación PuTTY. Las Sesiones iniciales La pantalla le permite especificar la dirección IP y el número de puerto del servidor SSH de destino.
  1. Usar la categoría lista a la izquierda para navegar a Conexión> SSH> Túneles .
  2. Seleccione Remoto para definir el tipo de reenvío de puerto SSH.
  1. Ingrese el número de puerto remoto en el Puerto de origen campo (por ejemplo, 8080 ).
  2. Escriba la dirección de destino y el número de puerto en Destino campo usando el siguiente formato localhost:local_port (por ejemplo, localhost:5534 ).
  3. Una vez que verifique que la información que ingresó es correcta, haga clic en Agregar .
  4. Seleccione Abrir para establecer un reenvío de puerto SSH remoto.

En el ejemplo anterior, los usuarios y las aplicaciones pueden conectarse al puerto 8080 en el servidor SSH remoto y luego acceder a la máquina local mediante el puerto 5534.

Cómo usar el reenvío dinámico de puertos

El reenvío de puertos dinámicos no es tan conocido como las dos opciones anteriores. A la mayoría de los usuarios les resulta más fácil usar el reenvío de puerto local para lograr resultados similares. El reenvío de puertos dinámico puede proporcionar más flexibilidad, ya que ya no necesita usar un servidor y un puerto remotos predefinidos.

Reenvío dinámico de puertos con OpenSSH

Mediante el ssh comando y el –D argumento, puede usar su cliente SSH para crear un proxy SOCKS en su máquina local.:

ssh –D local_port ssh_server_hostname

El siguiente comando abre un proxy SOCKS en el puerto 5534 en su máquina local:

ssh –D 5534 [email protected]

Ahora puede configurar un recurso local, como un navegador, para usar el puerto 5534. Todo el tráfico que se origina en ese recurso se dirige a través de las conexiones SSH establecidas para el puerto definido.

Reenvío dinámico de puertos con PuTTY

  1. Ingrese el nombre de host o la dirección IP y el número de puerto del servidor SSH de destino en las sesiones principales de PuTTY pantalla.
  1. Usar la categoría lista para navegar a Conexión> SSH> Túneles .
  2. Seleccione Dinámico para definir el tipo de reenvío de puerto SSH.
  1. Ingrese el número de puerto dinámico en el Puerto de origen campo (por ejemplo, 5534 ). El servidor proxy SOCKS en su máquina local utilizará este puerto para reenviar el tráfico de forma dinámica.
  2. Una vez que esté seguro de que la información que ingresó es correcta, haga clic en Agregar .
  3. Los parámetros para la conexión ya están establecidos. Seleccione Abrir opción para iniciar el reenvío de puertos SSH dinámico.

Para que funcione el reenvío dinámico, debe configurar y habilitar cada aplicación para el servidor proxy SOCKS.


Ubuntu
  1. Cómo usar Fail2ban para asegurar SSH en CentOS 7

  2. Cómo cambiar el puerto SSH en Linux

  3. Cómo configurar túneles SSH

  4. Cómo cambiar el puerto SSH en Lubuntu 20.04 Linux

  5. Cómo cambiar el puerto SSH en CentOS

Cómo usar SSH para conectarse a un servidor remoto

Cómo cambiar el puerto SSH en Ubuntu

Cómo usar el golpe de puerto para asegurar el servicio SSH en Linux

Cómo cambiar el puerto SSH en CentOS

¿Cómo cambiar el puerto SSH en Centos 7.x?

¿Cómo cambiar el puerto SSH en Ubuntu?