En este post os mostraré como configurar vuestro router para poder acceder a nuestro servidor vía SSH si nos encontramos con un ordenador que no esté conectado a la misma red que el servidor.
Y como la idea es poder acceder a través de SSH de la misma manera que estando dentro de la misma red os muestro el escenario que teníamos:
Pero ahora el escenario sería el siguiente:
Como veis mi intención es conseguir conectarme desde cualquier parte de internet a mi servidor vía SSH de la siguiente manera:
Como veremos, esto no es inmediato dado que tenemos el router de nuestro proveedor por enmedio realizando un NAT de la IP pública hacia nuestra red interna y viceversa. Esto significa que por defecto los puertos hacia los diferentes servicios de nuestra red interna no están abiertos. Por tanto, tendremos que decirle a nuestro router que deje pasar el tráfico SSH cuando reciba una petición a la IP pública a través del puerto 22 de la misma manera que habiamos hecho con el puerto 21 de FTP. Esto se traduce en incluir una sentencia de NAT en el propio router.
Como anteriormente y para poder llevarlo a cabo voy a explicarlo como si usáramos un router Cisco ya que dependiendo del router variará como realizarlo, no dudéis en preguntar para ayudaros a hacerlo con vuestro modelo.
En el esquema mostrado previamente el “Router proveedor” es un router Cisco cuya IP pública que me proporciona mi proveedor la tengo colocada como IP de “Loopback”. Por lo tanto la sentencia de NAT me quedaría de la siguiente manera:
Con ello le digo a mi router que deje pasar las peticiones a través del puerto 22 (ssh) hacia la IP 192.168.5.253 (mi servidor Ubuntu) cuando reciba una petición a la IP de Loopback a través del puerto 22.
Como he dicho, no dudéis en preguntar cómo hacerlo con vuestro modelo de router para poder ayudaros. Normalmente para los routers comerciales que montan las diferentes operadoras se suele configurar el NAT mediante una interfaz web no muy difícil de manejar.
De todos modos si queréis profundizar sobre Comandos y configuraciones Cisco os propongo empezar por el post “Cisco CCNA – Redes y componentes” para que os vayáis familiarizando.
Una vez realizada esta configuración ya podréis acceder a vuestro servidor vía SSH desde cualquier ordenador fuera de la red de la misma manera que teniendo nuestro ordenador dentro de la misma red. Para realizar la prueba he usado mi Smartphone conectado a 4G con un cliente gratuito SSH para Android (JuiceSSH):
Una vez establecida la conexión correctamente me aparece la ventana para colocar los credenciales para mi usuario. Por lo que una vez los accederemos a nuestro servidor.
Os dejo el formulario para cualquier duda.