Conexiones vnc tunelizadas con ssh en debian

23 12 2010

Para tunelizar una conexión vnc por ssh se puede seguir el siguiente camino:

Conectarse a la máquina remota, o configurarla previamente, para dejar listo el servidor vnc en el display manager que seguramente estará esperando el login tras el arranque:

Si es gdm, poner al final (antes de exit 0) del archivo “/etc/gdm/Init/Default” lo siguiente:

/usr/bin/x11vnc -passwd 123 -bg -localhost -rfbport 5900

También editar el archivo “/etc/gdm/gdm.conf” poniendo lo siguiente:

[security]
KillInitClients=false
[xdmcp]
[gui]
[greeter]
DefaultWelcome=false
Welcome=Bienvenido

Reiniciar gdm:

/etc/init.d/gdm restart

Si es lightdm, modificar el archivo “/etc/lightdm/lightdm.conf” añadiendo la siguiente línea:

greeter-setup-script=/usr/bin/x11vnc -passwd 123 -bg -localhost -rfbport 5900

Reiniciar lightdm:

/etc/init.d/lightdm restart

Ahora, con el servidor vnc escuchando en el puerto 5900, ya se puede realizar una conexión remota por ssh y tunelizar el tráfico, para ello:

ssh user@IP -L 5900:localhost:5900

Una vez con la conexión establecida, en otra terminal, se conecta con vnc al puerto 5900 que se ha abierto en localhost:

# vncviewer 127.0.0.1 -LowColourLevel 1

Si tenemos lightdm, ya tendremos disponible el escritorio.

En algunas versiones de gdm, al iniciar sesión nos tirará la sesión vnc, no pasa nada,es normal, volvemos a la terminal y lanzamos el servidor vnc en la máquina remota y nos conectamos nuevamente con el vncviewer a localhost desde nuestro equipo:

# /usr/bin/x11vnc -passwd 123 -bg -localhost -rfbport 5900# vncviewer 127.0.0.1 -LowColourLevel 1

Con lo que se ha indicado, se ve la sesión que ya hay en el equipo, lo que hacemos se puede ver en el escritorio. Para crear una sesión x11 privada, se puede lanzar el cliente xvnc en vez de el x11vnc y tendremos una sesión independiente, pudiendo usar una sesión gráfica alternativa a la que ya hay creada. Esto sólo lo he hecho funcionar con gdm, no con lightdm:

– Añadimos en el archivo “/etc/gdm/gdm.conf” la siguiente línea dentro de la sección indicada:

[xdmcp]
Enable=True

– Reiniciamos el gdm “/etc/init.d/gdm restart” y ya nos podemos conectar por ssh, lanzaremos el siguiente comando en la máquina remota 8o el siguiente):

# Xvnc -query localhost -geometry 1024x768 -depth 16 -cc 3 -once -SecurityTypes=none -rfbport 5901 :2En algunos sistemas funciona con el siguiente comando:
# vnc4server -query localhost -geometry 1024x768 -depth 16 -cc 3 -once -SecurityTypes=none -rfbport 5901 :2

– Y desde el ordenador local:

# vncviewer 127.0.0.1:5901 -LowColourLevel 1

Con eso veremos un display para iniciar sesión, parecido a gdm o kdm y se podrá empezar a utilizar la sesión x11 creada solo para nosotros.

Advertisements

Actions

Information

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s




%d bloggers like this: