VNC Using SSH (Español)

/home/israel/vncsshes

Aqui esta un pequeño How to para tener VNC con SSH tunneling:

pregunta n00b: por que necesito tener VNC con SSH tunneling?

tel otro n00b contesta: Por que tal vez alguien ("usuarios con iniciativa",  script kiddies, etc.) pueden utilizar herramientas para realizar attaques de man-in-the-middle (MITM) para sniffear el trafico de tu red  y asi obtener la contraseña de tu servidor VNC en simple texto plano . Tip - Cain.

Ooooh, entonces por eso necesitamos asegurarnos que tenemos una comunicacion barata, facil y encriptada a nuestro servidor.

NOTA: Este how to fue hecho utilizando CentOS como servidor y Windows como cliente.

Primero instalamos el servidor VNC 

yum install vnc vnc-server 

Verificamos si existe el directorio .vnc en nuestro home, example:

/home/israel/.vnc

Despues utilizamos el comando vncpassword para nuestro usuario, este sera el password que solicite el servidor VNC cada que nos conectemos).

vncpassword

El archivo passwd sera creado en .vnc

/home/israel/.vnc/passwd

Editamos el archivo vncservers en /etc/sysconfig/vncservers

  VNCSERVERS="1:israel"
- uncomment this if you want to force VNC connections only via SSH tunnel
  VNCSERVERARGS[1]="-geometry 800×600 -nolisten tcp -nohttpd -localhost"


Editamos ~/.vnc/xstartup
Si el archivo no existe hay que crearlo.

# Uncomment the following two lines for normal desktop:

unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc

Ejemplo de xstartup:

#!/bin/sh
# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
startx &
exec gnome-session &

Lo hacemos ejecutable:

chmod u+x .vnc/xstartup

Iniciamos VNCServer

#/sbin/service vncserver start 

En Windows...

Instalamos Cygwin  y seleccionamos ssh package

Abrir un shell bash cygwin

Conectarse al servidor SSH de CentOS

ssh -f -N -L 5901:localhost:5901 israel@centosserver

Abrimos el VNC Viewer en Windows y nos conectamos al localhost:1

Manera fácil:

Podemos utilizar la herramienta [SSVNC] (muy buena herramienta, no ocupamos tanto para poder utilizarla y sin necesidad de instalar algo)

Listo!.

Estas instrucciones funcionan para cualquier distro basada en Red Hat (la logica lo sugiere), para otras distros solo hay que cambiar los parametros.

Actualizado en Mayo 6, 2009

 Links para información adicional:

 [CentOS] 

[Cygwin] 

[UltraVNC] 

[SSVNC]