Antes que nada
Tenemos que
indicar al sistema que VNC va a realizar conexiones del tipo Loopback. Esto se realiza en el registro de windows. El contenido de un archivo
.reg (archivo de registro de win32) para realizar la operación sería el siguiente:
Windows Registry Editor Version 5.00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Registro de window.
;
; Añadir claves para Loopback
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[HKEY_LOCAL_MACHINE\SOFTWARE\ORL\WinVNC3\Default]
"AllowLoopback"=dword:00000001
Tanto en el servidor como en el cliente se ha de editar el archivo
ssh_config y añadir:
GatewayPorts yes
Esquema básico de conexión para VNC sobre SSH
conexión segura
192.168.4.3
> 192.168.4.7
Cliente SSH y VNC Servidor SSH y VNC
- En 192.168.4.3 insertamos los siguientes comandos ssh
C:\>ssh -2 -C -N -L 5902:localhost:5901 INFOGRAFIA2@192.168.4.7
- Desde 192.168.4.3 abrimos vncviewer.exe:
vncviewer localhost:2
o
vncviewer localhost:5902
Explicación de los comandos ssh para realizar el túnel:
-2 Usa el protocolo SSH2
-C Realiza compresión de los datos
-N (solo para la versión SSH2) Indicamos a ssh que no se ejecutaran comandos en el servidor, sólo el túnel.
-L Realizar túnel
5902 puerto local
(dispaly 2 para vncviewr) para conexión remota. Este es el puerto que indicaremos a wncviewer
localhost Ip servidor, en este caso localhost para realizar el tunel.
5901 puerto remoto donde escuhará VNC
(display 1)
INFOGRAFIA2@192.168.4.7 usuario/IP máquina segura ejecutando SSH.
Otro comando
opcional a usar:
-S: que destruye el tunel cuando acabe la conexión. Fija un tiempo de espera o Delay para nueva conexión y si no se realiza se destruye el tunel.
Una vez creado el túnel, tan sólo tendremos que ejecutar
VNC Viewer introduciendo en el
campo VNC Server:
localhost:5902 ó localhost:2
El
túnel SSH también lo podemos realizar con un
cliente win32 como
PuTTY. Desde este cliente para realizar dicho túnel:
Session:**---Specify your connection by host name or Ip address:
Host Name (or Ip address): 192.168.4.7
Port 22 (SSH)
SSH > Tunnels >
Add new forwarded port:
Source port: 5902 (este es el puerto localhost)
Destination: 192.168.4.7:5901
(pulsar Add) y (Open)
Para comprobar que la conexión se realiza a través del canal seguro:
|| Si cerramos la consola MSDOS donde introducimos las líneas ssh para tunelización o el cliente ssh (PuTTy), debe cerrarse también la conexión VNC. ||