Conexión SSH fuera de la red local

Traducciones disponibles: | "English" |

Este post surgio por un trabajo de la universidad(para una Raspberry) sin embargo me sirvio con otras necesidades similares, para conectarse de manera remota sin necesidad de abrir puertos en el router.

Para lograr una conexión SSH(u otro protocolo) fuera del área local, de manera sencilla, me parece esta, por distintos motivos(podría ser habilitando puertos en el router, solo que esto según la operadora puede llegar a ser muy difícil de lograr por sus políticas entre otras cosas), entonces continuemos, se necesita instalar Ngrok captura sitio oficial de ngrok

En el caso de una Raspberry se necesita la versión Linux(ARM) o en consola:

1wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-arm.zip

luego se hace el unzip tal como explica el tutorial de ngrok en consola:

1unzip ngrok-stable-linux-arm.zip

Lo siguiente es registrarse y/o ingresar en ngrok, y una vez ahí se van a este link donde les mostrara el token para su cuenta Una vez sabiendo su token ejecutan en su dispositivo:

1./ngrok authtoken XXXXXtuTokenAquiXXXXXXX

con eso estaría configurado, solo falta poner a la escucha el puerto 22, que se utiliza SSH, de la siguiente forma

1./ngrok tcp 22

es entonces cuando les muestra el Host y puerto al que apuntara PoC ngrok

Lo cual muestra en Forwarding la dirección TCP y puerto que nos habilitan para trabajar con nuestra Raspberry.

En este caso era 0.tcp.ngrok.io y puerto 17271, es decir que en vez de nuestra ip local y puerto por defecto(22), se debe especificar estos para acceder fuera del área local a nuestro dipositivo, es decir:

1ssh pi@0.tcp.ngrok.io -p17271

y esito sería :D En la pagina de ngrok pueden revisar la variedad e protocolos disponbles, con la misma logica

-Hackers are People Too 😜