Continuando con la idea del articulo anterior, hoy vamos a aprender como realizar tuneles mediante el protocolo ssh (Secure Shell) desde entornos Windows.
Para esto vamos a utilizar una herramienta, mejor dicho, un cliente ssh para windows llamado Putty.
Cuando accedemos remotamente a una pc que corre bajo un sistemaa operativo GNU/Linux mediante VNC, todos los datos viajan en forma de texto plano, nombres, contraseñas, en fin todo lo que le mandemos al ordenador remoto, va como texto plano, esto es, sin ningun tipo de encriptación.
Esta operación es muy riesgosa porque permite a un usuario con conocimientos avanzados situarse en el medio de la transferencia y capturar esos datos. Esta técnica comunmente recibe el nombre de “man in the middle” o “eavesdropping”.
Para evitar estas cosas es necesario utilizar algún algoriitmo criptográfico aplcable a los datos que entran y salen por el protocolo vnc.
GNU/Linux cuenta con una herramienta cuyas cualidades son únicas e incomparables. Estoy hablando de OpenSSH.
Open SSH, (ssh para los amigos) es una herramienta que basicamente nos permite loguearnos en modo shell en un equipo remoto, mediante nombre de usuario y contraseña o mediante llave publica, o combinaciónes de ambas. Lo bueno es que ssh utiliza un algoritmo criptográfico complejo que hace que la conexión sea altamente segura. Y lo mejor es que permite la creación de tuneles. Esto es una especie de mezcla entre “port-forwarding”, “masquerading” y “bounceing”, Todo en uno.
Para entender un poco “que es un tunel ssh” podemos decir que un tunel es una redirección de un host a otro con iguales o diferentes puertos de entrada y salida.
Por ejemplo, en este tutorial, vamos a hacer que quede un puerto a la escucha en el ordenador con windows por el cual, cuando nos conectemos a el, nos enviará automaticamente a la ip de una pc remota por el puerto del protocolo ssh (puerto 22) y cuando la petición llege a destino, el mismo server ssh se encargará de redireccionarla dentro de esa misma pc pero al puerto 5900 donde esta escuchando el servidor vnc. Y con esto lograremos visualizar el escritorio de la pc remota mediante vnc y con la seguridad que todos nuestros datos viajan encriptados.
Basta de parloteo y vamos a la práctica:
Primero, nos bajamos el Cliente SSH para windows del siguiente enlace:
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Bajamos el primero que aparece y que se llama putty.exe.
Ahora lo ejecutamos y vamos a configurarlo para que cree un tunel.
Desplegamos la opcion SSH y hacemos clic en “Tunnels”. Despues, donde dice “Source Port” ponemos el puerto que vamos a dejar escuchando en la maquina local (la maquina con windows), en este caso el 5900. Luego donde dice “Destination” ponemos la ip y el puerto hacia donde tiene que ir la redirección. En este caso no saldremos de ese ordenador por lo tanto ponemos la root ip (127.0.0.1) y el puerto 5900 que es donde escucha el server vnc. Despues hacemos clic en el boton “Add”
Entonces, cuando llegue la petición al host remoto, éste la redireccionará hacia 127.0.0.1:5900, osea que se la redireccionará a si mismo pero al puerto 5900. Esto nos permite tener el server vnc escuchando en el puerto 5900 y tener este puerto cerrado en el router para prevenir que extraños traten de loguearse directamente. Para mas seguridad configuramos el firewall de linux para que solo acepte peticiones al puero 5900 provenientes de localhost o 127.0.0.1
Ahora nos vamos a “Session”, en el menu de opciones de putty, y donde dice “Host Name (or IP Adress):” escribimos el dominio o la ip del ordenador remoto, en este caso mi pc con linux tiene asociado el domino remoto.arcanus.com y el puerto por defecto lo dejamos que es el 22 y corresponde al protocolo ssh. Una vez que terminamos le damos al boton “Open” y si todo sale bien, deberiamos estar frente a la siguiente pantalla:
Ahi nos preguntará el nombre de usuario y la contraseña para ingresar al sistema como un usuario comun. Escribimos el nombre de usuario, la contraseña y damos enter. Si todo sale bien nos mostrará el mensaje de bienvenida al sistema.
Ahora levantamos el server x11vnc (tal y como vimos en el artículo anterior).
$ x11vnc -bg -passwd contraseña
Cuando termina nos encontramos mas o menos con esto:
Ahora nos descargamos el cliente vnc desde aqui:
http://www.realvnc.com/download.html
Bajamos la edicion Libre (Free Edition) y exactamente el que dice “VNC Free Edition Viewer for Windows“. Lo ejecutamos y nos sale:
Donde dice “Server” ponemos la dirección local (127.0.0.1) y al no especificar un puerto se toma por defecto el 5900. Damos “Ok” y pasamos a la siguiente pantalla:
En este paso se nos pide la contraseña del server vnc, esa que pusimos con la opcion -passwd del x11vnc. La escribimos y damos “OK”. Si todo anda bien, ya estaremos visualizando el escritorio de la pc remota.
Bueno, esto es todo, espero que sea util. Dejen sus comentarios. Hasta la próxima.




1 response so far ↓
1 plukazz // Ago 10, 2007 at 18:21
muy bueno,
cuando me llegue la laptop lo voy a poner en practica
sigue asi!
plukazz
Leave a Comment