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:

[caption id="attachment_718" align="aligncenter" width="218"]Activar el servidor VNC en el puerto 9000 Activar el servidor VNC en el puerto 9000[/caption]

 

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:

[caption id="attachment_719" align="aligncenter" width="300"]Activar el servidor SSH en el puerto 22 Activar el servidor SSH en el puerto 22[/caption]

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:

[caption id="attachment_720" align="aligncenter" width="300"]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.[/caption]

[caption id="attachment_721" align="aligncenter" width="300"]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".[/caption]

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.