Reenvío de puertos SSH en Linux

Reenvío de puertos SSH en Linux
El reenvío de puertos SSH se utiliza para reenviar puertos entre una máquina Linux local y una remota utilizando el protocolo SSH. Se utiliza principalmente para cifrar conexiones a diferentes aplicaciones. Incluso si esa aplicación no admite el cifrado SSL, el reenvío de puertos SSH puede crear una conexión segura. Incluso puede usar el reenvío de puertos para exponer una máquina a Internet sin una dirección IP enrutable en Internet, para que pueda acceder a ella de forma remota y segura. Hay muchos más usos del reenvío de puertos SSH.

Hay principalmente dos tipos de reenvío de puertos SSH. Reenvío de puertos local y reenvío de puertos remotos.

En este artículo le mostraré cómo hacer el reenvío de puertos en Linux. Para seguir este artículo, tendrá que tener utilidades SSH instaladas en su máquina Linux. Te mostraré cómo hacerlo, no te preocupes. Empecemos.

Instalación de servicios públicos SSH en Red Hat Enterprise Linux (RHEL) 7 y Centos 7

En RHEL 7 y CentOS 7 puede instalar Utilidades SSH con el siguiente comando:

$ sudo yum instalación OpenSSH-Clients OpenSSH-server

Prensa Y y luego presiona continuar.

Se deben instalar utilidades SSH.

Instalación de servicios públicos SSH en Ubuntu, Debian y otra distribución basada en Ubuntu/Debian

En Ubuntu, Debian, Linux Mint y otras distribuciones basadas en el sistema operativo Ubuntu/Debian, ejecute el siguiente comando para instalar utilidades SSH:

$ sudo apt-get install openssh-client openssh-server

Ahora presiona Y y luego presiona continuar.

Se deben instalar utilidades SSH.

Instalación de servicios públicos SSH en Arch Linux

Si está en Arch Linux, ejecute el siguiente comando para instalar Utilidades SSH:

$ sudo Pacman -Sy OpenSsh

Ahora presiona Y y luego presiona .

Se deben instalar utilidades SSH.

En Arch Linux, el servidor SSH no se inicia de forma predeterminada. Tendrá que comenzar manualmente con el siguiente comando:

$ sudo systemctl start sshd

Ahora agregue el servidor SSH al inicio del sistema, para que comience automáticamente cuando el sistema arranca:

$ sudo systemctl habilita sshd

Reenvío de puertos locales

El reenvío de puertos locales se utiliza para reenviar un puerto de un servidor remoto en otro puerto de una computadora local. Un ejemplo te ayudará a entender lo que quiero decir.

Digamos que tiene un servidor, servidor 1 que tiene una dirección IP de 192.168.199.153. servidor 1 tiene un servidor web en ejecución. Por supuesto, si está conectado a la misma red que el servidor servidor 1, Luego puede escribir la dirección IP en el navegador y conectarse a servidor 1 desde tu computadora. Pero, ¿qué pasa si desea acceder a él como si el servicio se ejecute en su computadora en algún puerto?? Bueno, eso es lo que hace el reenvío de puertos locales.

Como puede ver en la captura de pantalla a continuación, puedo acceder al servidor web en servidor 1 Usando su dirección IP:

Ahora ejecute el siguiente comando desde su computadora local para reenviar el puerto 80 (HTTP) al puerto 6900 (digamos) a su computadora local:

$ ssh -l 6900: 192.168.199.153: 80 localhost

Escribir y luego presiona continuar.

Ahora escriba la contraseña de su computadora local y presione .

Estás conectado.

Ahora puede acceder al servidor web que hizo antes como http: // localhost: 6900 como puede ver en la captura de pantalla a continuación.

Reenvío de puertos remotos

El reenvío de puertos remotos reenvía un puerto de un servidor/computadora local a un servidor remoto. Entonces, incluso si su servidor/computadora local no tiene una dirección IP de Internet enrutable, puede conectarse a ella usando la IP remota del servidor y el puerto reenviado.

Supongamos que desea conectarse al servidor web de su computadora local desde Internet. Pero no tiene una dirección IP enriquecida en Internet. Puede usar un servidor remoto (como VPS) al que se puede acceder desde Internet y hacer reenvío de puertos remotos con él. No tengo VPS. Supongamos servidor 1 es el servidor remoto.

Primero configurar servidor 1 servidor para permitir que se accedan los puertos reenviados a través de Internet.

Para hacer eso, editar /etc/sshd_config Con el siguiente comando:

$ sudo nano /etc /sshd_config

Deberías ver la siguiente ventana.

Desplácese hacia abajo y encuentre Puerto de gateway como se marca en la captura de pantalla a continuación.

Ahora sin consolidad y configúrelo como se marca en la captura de pantalla a continuación.

Ahora presiona + X y luego presiona Y y luego presiona Para guardar el archivo.

Ahora reinicie el servidor SSH de servidor 1 Con el siguiente comando:

$ sudo systemctl reiniciar sshd

En mi computadora local, un servidor web se está ejecutando como puede ver en la captura de pantalla a continuación.

Ahora puede ejecutar el siguiente comando desde la computadora local para reenviar el puerto 80 (http) de su computadora local al puerto 9999 en el servidor remoto servidor 1 que tiene dirección IP 192.168.199.153:

$ ssh -r 9999: localhost: 80 192.168.199.153

Escribir y presionar .

Escriba la contraseña de su servidor remoto servidor 1.

Estás conectado.

Como puede ver en la captura de pantalla a continuación, puedo conectarme al puerto 9999 En mi servidor remoto servidor 1 y acceder a mi servidor web local.

También puedo conectarme a mi servidor web utilizando la dirección IP del servidor remoto servidor 1 y el puerto reenviado 9999 De otras computadoras en mi red como puede ver en la captura de pantalla a continuación.

Así es como haces el reenvío de puertos SSH en Linux. Gracias por leer este artículo.