SSH Tunnel facil en una linea de comando

Alguna vez se preguntaron cómo funciona el tunneling? Acá va una pequeña demostración de como funciona:

Utilizando el comando estándard “ssh” para abrir el tunnel

sudo ssh -C user@example.com -L localport:remote_private_machine_ip:remote_private_machine_port

* Nota: Es requerido tener permisos para abrir un puerto nuevo en localhost, por eso el ejemplo esta hecho con sudo.

Ejemplos

Red remota: example.com – 192.168.1.0
Server remoto sin acceso directo a internet: 192.168.1.10

Conectarse por SSH a ese server remoto sin acceso directo a internet:

sudo ssh -C user@example.com -L 2222:192.168.1.10:22

Lo que acabamos de hacer es abrir un puerto en localhost [2222] que al conectarnos a ese puerto vamos directamente via el ssh tunnel a example.com->192.168.1.10:22

Conectarse por HTTP a ese server remoto sin acceso directo a internet:

sudo ssh -C user@example.com -L 8080:192.168.1.10:80

Conectarse por HTTPS a ese server remoto sin acceso directo a internet:

sudo ssh -C user@example.com -L 4444:192.168.1.10:443

Abrir varios tunnels a la vez:

sudo ssh -C user@example.com -L 2222:192.168.1.10:22 -L 8080:192.168.1.10:80 -L 4444:192.168.1.10:443

Eso es todo, enjoy!

Share

Enlaces Relacionados