En el artículo anterior expliqué como usar un tunel ssh para acceder a un servicio remoto que no es accesible en mi computador, pero sí es accesible desde un servidor al cual puedo ingresar. Ahora aprenderemos a hacer lo opuesto. Vamos a compartir servicios de mi red interna o mi computadora en otra red. Lo más probable es que sea el Internet. Al igual que el artículo anterior, vamos a explicar esta utilidad con ejemplos.
Ejemplo #1: Acceder con ssh a computador con ip privado
Vamos a suponer el siguiente caso práctico. Mi mamá es una usuaria de GNU/Linux y tiene algún problema en su computador. Ella tiene su computadora en la casa y no tiene ip pública ni la menor idea de lo que es un ip. Su hijo tiene algo de experiencia le puede ayudar. Para esto con mucha paciencia le va a decir» mami vaya a accesorios terminal y escribe lo siguiente:
ssh -R *:8080:localhost:22 usuarioremoto@servidorremoto.com
Mi mamá no tiene porque entender este comando, pero ustedes sí. El * quiere decir que vamos a ser accesibles desde cualquier ip que tenga mi servidor remoto. El 8080 es el puerto que utilizaremos en el servidor remoto y localhost:22 quiere decir que vamos a hacer accesible el puerto 22 de mi máquina local. La segunda parte del comando quiere decir a que servidor ingresamos y con que usuario.
En otras palabras mi mamá esta ingresando a mi servidor y publicando el puerto 22 de su computador en el puerto 8080. Obviamente sin tener la menor idea de lo que esta haciendo. Sigue leyendo Túneles SSH (parte 2)