cable

Túneles SSH

A día de hoy levantar una VPN está chupado, levantar un wireguard es una tarea sencilla que podemos hacer en un momento.

Si tenemos que acceder a una red remota podemos hacerlo con un wireguard, claro que sí, sin problema, pero muchas veces necesitamos una solución rápida y directa, algo más rápido que levantar una VPN, o incluso puede que levantar una VPN sea un poco complicado porque se pisen direccionamientos o cualuier otro motivo.

Para acceder a servicios remotos a veces lo más fácil es levantar un túnel SSH desde tu propio equipo y a funcionar.

La forma más común de levantar un túnel SSH quizás seá con e en Windows, porque sí, los usuarios de Windows también hacen cosas interesantes.

Los túneles SSH los podemos hacer de dos formas:

  1. De nuestra máquina hacia afuera (ssh -L)
  2. Del destino a nuestra máquina (ssh -R)

Elegiremos el túnel SSH normal o el túnel SSH inverso dependiendo de cómo tengamos la conexión.

Por ejemplo si nosotros queremos ver en un puerto de localhost algo que está en una máquina a la que se llega por nuestra máquina de salto será un SSH normal.

Si nosotros queremos abrir un puerto a una conexión externa entonces usaremos un SSH inverso.

Donde se ve -> nosotros -> Destino
nosotros -> máquina de salto -> destino

¿Cuando se usa esto? Cuando tienes acceso a una red mediante una única máquina de salto por ssh, cuando quieres abrir una aplicación interna a una máquina externa sin exponerla a internet.

La última vez que lo he usado ha sido por ejemplo hoy que he tenido que acceder a un entorno web de unos equipos de red tunelizando la web a través de una conexión ssh.

A mi me pasa muchas veces que tengo que acceder a una máquina a la que no tengo acceso directo, por ejemplo una máquina de salto

ssh -L 7001:10.10.10.10:80 user@pub001.host
ssh -R 8081:10.10.10.10:80 user@mipc

Actualizaciones y mejoras del artículo (se agradece muchísimo :D):

Por Dathpatatas:

Vengo a “quejarme” del podcast 😅 he echado en falta los otros 2 tuneles ssh

Proxy socks directo similar al -L, pero creando un proxy socks en local que sale por la maquina a la que nos conectamos, super util
ssh user@host -D 8000

Proxy socks reverso muy util para dar internet a la maquina remota a traves de un proxy socks remoto que sale por la maquina que ejecuta el comando
ssh user@host -R 8000

Para el -L iplocal:puertolocal:ipremota:puertoremoto

Si no pones iplocal por defecto es 127.0.0.1
La ipremota puede ser 127.0.0.1 (un puerto local de la maquina remota) o cualquier ip