Login remoto a otra máquina con VNC

En otro truco, hace días, os hablaba de VNC para acceder a otra máquina de tu red local.

Pero esto se queda un poco corto. Supongamos que quieres un verdadero login remoto, es decir, convertir la máquina remota en un verdadero ordenador multiusuario, de tal forma que un usuario pueda entrar en su escritorio  de forma remota, al mismo tiempo que otro usuario accede al suyo en la propia máquina remota.

Asumo que en tu máquina ya tienes un servidor VNC funcionando y configurado (por ejemplo, en mi caso, Xvnc4). No es muy complicado, de todas formas: solo tienes que instalar el paquete vnc4server con apt-get (en el caso de Ubuntu) y después arrancar el servidor con el comando vncserver. Te pedirá una contraseña para que protejas el acceso, así que dásela. Pero de todas formas, en el método que describo a continuación, se desactiva la autentificación propia de VNC porque usará la autentificación de tu propio escritorio.

Bien, para hacer un login remoto como usuario, hay que combinar XDMCP con VNC, de tal forma que se active el servidor VNC de la máquina remota bajo demanda, sin que tengas que hacerlo a mano cada vez (nada de SSH para activar el servidor).

Para ello, en primer lugar, debes crear un puerto específico destinado a VNC en la máquina remota echando mano del demonio xinetd. Edita el fichero /etc/services y añade una línea que diga esto:

vnc    5908/tcp   #Xvnc

Esto activa el puerto 5908 para el servicio VNC. Vale, ahora tienes que decirle al ordenador remoto lo que tiene que hacer cada vez que reciba una petición de acceso en ese puerto. Para ello crea un fichero /etc/xinetd.d/vnc que diga tal que esto:

# Default: on

# Descripcion: El servidor vnc se activa bajo demanda
service vnc
{
disable = no
socket_type = stream
protocol = tcp
wait = no
user = nobody
server = /usr/bin/Xvnc
server_args = :8 -inetd -once -query localhost -depth 24 -geometry 1280x1024 -securitytypes=none
}

El parámetro "server" dice qué programa atenderá la petición de acceso (en este caso, el servidor VNC), y el parámetro "server_args" dice con qué parámetros se activa (en este caso dice que se usará la pantalla 8, que se pondrá en marcha con el acceso y se detendrá cuando se cierre, que el servidor hará una conexión local XDMCP, que tendrá una profundidad de color de 24 bits, con un escritorio de 1280x1024 y que se desactiva la autenticación de VNC).

¿Ya?. Vale, ahora reinicia el servicio xinetd con un "sudo /etc/init.d/xinetd restart".

Vale, ahora tienes que activar XDMCP en sí mismo. Esto dependerá de qué gestor de pantallas uses. Si estás usando gdm (Gnome), que es lo más habitual, entonces edita el fichero /etc/gdm/custom.conf y en el apartado [xdmcp] cambia la línea "Enable=false" por "Enable=true". Esto es lo que ocurre en Ubuntu, para ser más exactos. En otros sistemas puede que te venga mejor ejecutar gdmsetup, o si usas KDE  editar los ficheros de configuración de kdm, o en otros sistemas los de xdm (si no usas ni Gnome ni KDE). En cualquiera de los casos, ya sea en gdm, kdm o xdm, tienes que acceder a la configuración y activar la opción XDMCP. Para localizar los ficheros en cuestión te puede ayudar el comando "find /etc -name gdm" por ejemplo, o averiguar cómo hacerlo en tu sistema buscando en Google (por ejemplo "ubuntu habilitar xdmcp")

Vale, ahora reinicia el servidor gráfico o mejor resetea la máquina entera. Con esto ya has terminado en la máquina remota.

Ahora vete a la máquina cliente, abre un terminal y teclea: "vncviewer selene:5908". Bien, obviamente, no tienes que teclear esto exactamente, sino el nombre (o la IP) de tu propia máquina remota.

Y ahora deberías abrirse en tu pantalla algo así:

La máquina remota ofreciendo login a través de VNC

Tecleas tu contraseña de usuario y et voila:

La máquina remota dándote acceso a tu escritorio

La máquina remota dándote acceso a tu escritorio

Be Sociable, Share!

Puedes seguir cualquier respuesta a esta entrada mediante el canal RSS 2.0. Puedes dejar un comentario o enviar un trackback desde tu propio sitio.

Deja un comentario

Disculpa, debes iniciar sesión para escribir un comentario.