Es una práctica común entre los proveedores de servicios de Internet bloquear la mayoría de, si no todos, los puertos entrantes para sus suscriptores domésticos, lo que hace imposible conectarse de forma remota a la computadora de su hogar a través de HTTP, SSH, FTP, etc.
En este tutorial cubriremos cómo eludir estas restricciones usando una técnica llamada Rerverse SSH Tunneling
.
Nota: Este tutorial asume que estás usando Ubuntu. Sin embargo, se espera que los pasos funcionen para otras distribuciones de Linux.
Prerrequisitos:
- Una instancia del servidor Ubuntu.
- Un cliente SSH en su máquina local.
Paso 1: Configuración del demonio SSH en tu servidor:
De forma predeterminada, el demonio SSH solo está escuchando 127.0.0.1
, por lo que no podremos acceder a nuestros puertos reenviados desde el exterior. Para que escuche en la interfaz conectada a Internet, debemos habilitar la GatewayPorts
opción en la configuración del servidor SSH.
Abre /etc/ssh/sshd_config
usando tu editor de texto favorito.
nano /etc/ssh/sshd_config
Luego agregue GatewayPorts yes
al final del archivo.
Después de guardar el archivo, reinicie el demonio SSH:
service ssh restart
Paso 2: Túnel:
Si la computadora de su casa ejecuta Linux, deberá usar el ssh
comando de la siguiente manera:
ssh -R [Port to forward to on your VPS]:localhost:[Port to forward on your local machine] [VPS IP]
O si ha instalado Microsoft Windows en su máquina, entonces debe instalar plink y conectarse como se muestra a continuación:
plink -R [Port to forward to on your VPS]:localhost:[Port to forward on your local machine] [VPS IP]
En este ejemplo, reenviamos el puerto 19132
que está abierto en su máquina en el hogar al puerto 80
en su servidor remoto (suponiendo que la dirección IP de su servidor sea 192.168.0.1).
ssh -R 80:localhost:19132 192.168.0.1
Esto le permitirá acceder a su máquina en casa desde una ubicación remota conectándose a 192.168.0.1:80
.
Esto concluye nuestro tutorial. Gracias por leer.