Cómo conectar remotamente a mi escritorio GNOME 3

Problema

Antiguamente podíamos configurar conexiones a nuestro escritorio Linux a través del protocolo FreeNX o su descendiente directo X2Go, pero poco a poco va haciéndose más imposible, ya que los escritorios completos modernos (GNOME 3, KDE, Cinnamon) utilizan ciertas extensiones de X11 (GLX, si no me equivoco) que no son compatibles con esos protocolos. En cualquiera de los casos, al ser ambos protocolos basados directamente en X11, y teniendo en cuenta que en breve X11 va a empezar a desaparecer en favor de Wayland y Mir, deduzco que NX y derivados también tenderán a desaparecer, ya que ni son ni serán compatibles.

Solución propuesta

Visto lo anterior, recurriremos al protocolo VNC, que es bastante más pobre que los otros mencionados, ya que es inseguro, no soporta autenticación por clave pública, no permite iniciar sesión (tan solo se conecta a una sesión que ya esté abierta) y ofrece peor compresión.

¿Por qué recurrimos a él entonces? Parece que es el que soporta oficialmente GNOME 3 y el más fácil de configurar, y dentro de lo que cabe se puede hacer más seguro pasándolo por un túnel SSH.

Cómo configurarlo

Servidor VNC

Para empezar, vamos a Configuración > Compartir > Compartición de la pantalla, y la activamos:

Activar el servidor VNC en el puerto 9000
Activar el servidor VNC en el puerto 9000

 

Como podéis observar en la foto, nos da la opción de usar una contraseña o no:

  • Si estableces una contraseña, podrás conectar siempre que quieras si te la sabes.
  • Si no pones contraseña, al solicitar conexión aparecerá en el escritorio un cartel avisando al usuario local de que alguien quiere conectarse remotamente a su escritorio, y dándole la opción a aceptar o rechazar dicha conexión.

Como en nuestro caso se supone que no habrá nadie sentado en la máquina cuando queramos conectarnos desde fuera, optaremos por poner una contraseña.

Esto pone a escuchar el servicio VNC en el puerto 9000, pero este puerto no lo publicaremos en el router.

Servidor SSH

A continuación activaremos el inicio de sesión remoto, que es como llaman al servidor SSH:

Activar el servidor SSH en el puerto 22
Activar el servidor SSH en el puerto 22

Esto pone a escuchar el servidor SSH en el puerto 22.

A continuación, tendrás que ponerle una IP fija a tu ordenador y configurar tu router para que redirija un puerto público (puede ser el 22 o cualquier otro) al puerto 22 de tu ordenador.

Puesto que cada red y cada router es diferente, asumiré que sabes cómo realizar estos pasos o cómo usar un buscador de Internet. Si no dispones de una IP pública fija, tal vez te interese también buscar información sobre DNS dinámico. Quizá te interese también saber cómo bloquear los ataques por SSH, que sin duda empezarás a recibir.

Para este ejemplo, supondremos que redireccionamos el puerto 22000 del router al puerto 22 del ordenador, y que hemos habilitado el inicio de sesión por clave pública.

Cliente Remmina

Hecho todo esto, ya tenemos el equipo servidor listo para recibir conexiones remotas (siempre que se deje la sesión local abierta, recuerda). Ahora hay que ir al otro ordenador desde el que te conectarás (el que hará de cliente) y configurarlo. Usaremos Remmina; si prefieres otro, configúralo igual y ya está.

Primero hay que instalarlo. En Fedora 21 es:

# dnf install remmina-plugins-vnc

Creamos una nueva conexión como la siguiente:

Configurar la conexión VNC. La contraseña es la que hemos puesto antes al compartir el escritorio.
Configurar la conexión VNC. La contraseña es la que hemos puesto antes al compartir el escritorio.
Configurar el túnel SSH para la conexión VNC. Hay que usar el puerto que hayas abierto en tu router (si es el 22, basta con marcar la opción "Mismo servidor en el puerto 22"). Si no has puesto autenticación con clave pública, marca la opción "Contraseña".
Configurar el túnel SSH para la conexión VNC. Hay que usar el puerto que hayas abierto en tu router (si es el 22, basta con marcar la opción “Mismo servidor en el puerto 22”). Si no has puesto autenticación con clave pública, marca la opción “Contraseña”.

Pulsa Conectar y listo.

Conclusión

Es lamentable que sigamos dependiendo de VNC para estos menesteres. Espero que, con la llegada de Wayland y los avances del equipo de FreeRDP, pronto veamos una opción por defecto para compartir por RDP, que parece que hoy en día es la única alternativa digna, pero en Linux está bastante atrasada.

2 comentarios en “Cómo conectar remotamente a mi escritorio GNOME 3

    1. Tiene buena pinta, pero por lo que veo peca de lo mismo que todas las demás alternativas: depende directamente de X11, con lo cual su ciclo de vida no parece muy halagüeño…
      En cualquier caso, realmente creo que el protocolo RDP, como protocolo, es el mejor que hay hoy día (especificaciones abiertas, soporta login corporativo y remoto, encriptación, recuperación de sesión, Windows…). Lo único que falta es una implementación decente en Linux.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s