Conexiónes RDP y VNC

VPN ULL

Para usar remotamente una máquina del CCA, hay que establecer primero una conexión VPN (Virtual Private Network) con la ULL. Las instrucciones se encuentran en el documento de la ULL Guía Rápida de Configuración del cliente VPN para Usuarios (Alumnos, PDI, Pas).

Es necesario conectarse a la VPN de la ULL incluso cuando estamos en algún edificio o instalación de la ULL, usando la red WiFi «ULL-CONECTA».

Claves SSH

Nota: las instrucciones siguientes valen (y han sido probadas) para Linux y Mac. También deberían valer para Windows, usando una terminal, por ejemplo la Windows Power Shell (aunque aquí no tenemos experiencia).

Una vez establecida la conexión VPN-ULL, hay que conectarse por ssh a las máquinas del CCA. Por razones de seguridad, ya no se usa la contraseña, sino se implementan la «claves» ssh, que permiten una conexión segura sin tener que teclear cada vez la contraseña. Las claves consisten de dos ficheros: uno con la clave privada (que guardamos en el equipo personal desde el cual queremos acceder a los equipos del CCA), y el otro con la clave pública que guardamos en el home del CCA.

Procedemos de la siguiente manera:

  • En el equipo personal, tecleamos el comando: ssh-keygen -t ed25519. Dejamos que el fichero se cree en el directorio sugerido (/home/usuario/.ssh/id_ed25519), y podemos dejar en blanco (“empty”) la “passphrase”.

  • Veremos que el directorio /home/usuario/.ssh/ contiene ahora dos ficheros: id_ed25519 (la clave privada), y id_ed25519.pub (la clave pública).

  • Copiamos el fichero id_ed25519.pub a la cuenta del CCA. Para esto podemos por ejemplo subirlo al drive de Google, ir fisicamente al CCA, logearnos en una de las máquinas que están allí y descargar el fichero. Recordamos que el directorio /home/ es compartido (es el mismo en todas las máquinas).

  • En el home del CCA, teclear: cd ~/.ssh/, copiar/mover allí el fichero id_ed25519.pub, y ejecutar el comando: cat id_ed25519.pub >> authorized_keys.

  • Si estamos fuera de la isla o por la razón que sea no podemos ir físicamente al CCA, enviar el fichero a nicola.caon@iac.es (quien puede copiarlo al home del usuario). ¡Ojo!, enviar solo el fichero id_ed25519.pub, no el otro; es muy importante que la clave privada no se comparta con nadie. Especificar también el username en el CCA.

Corregir permisos

Unos de los problemas más frecuentes en la autenticación por claves ssh son los permisos erroneos de los ficheros involucrados: si los permisos no son los esperados, el sistema considera que hay un posible agujero de seguridad y rechaza la conexión. Para asegurarse de que los permisos son correctos, hacer lo siguiente:

En el equipo personal Linux o Mac (en Windows, mejor no tocar nada …):

chmod -c 700 ~/.ssh
chmod -c 600 ~/.ssh/id_ed25519
chmod -c 644 ~/.ssh/id_ed25519.pub

en el equipo del CCA:

chmod -c 700 ~/.ssh
chmod -c 644 ~/.ssh/id_ed25519.pub
chmod -c 644 ~/.ssh/authorized_keys

Si todo ha ido bien, ya podemos hacer un ssh a la máquina del CCA, y veremos que nos logueamos automáticamente sin que nos pida la contraseña.

RDP

La forma más sencilla y eficiente para abrir un escritorio remoto en una máquina CCA es usar el Remote Desktop Protocol (RDP). En Windows, lanza la “Conexión a Escritorio Remoto”. En Mac, hay que descargarse del App Store el “Windows App” (antiguamente llamado “Microsoft Remote Desktop”). En Linux, la mejor opción es instalar y usar Remmina.

Antes de realizar la primera conexión RDP, es necesario conectarse a un ordenador (cualquiera) del CCA por ssh, y ejecutar el siguiente comando:

echo "xfce4-session" > ~/.xsession

Conexión mediante túneles ssh

Por razones de seguridad, no podemos conectarnos directamente al ordenador del CCA con el protocolo RDP, sino tenemos que hacerlo activando primero un túnel ssh, o sea un sistema que nos permite usar el protocolo RDP de una forma segura basada en la encriptación proporcionada por la conexión ssh.

Lo primero que tenemos que hacer es establecer el túnel ssh con el comando, ejecutado en el equipo personal:

ssh -L 13389:127.0.0.1:3389 username@ccamachine.cca.iac.es
# donde 'username' será nuestro nombre de usuario en el CCA,
# y 'ccamachine' el nombre de la máquina del CCA a la que
# queremos conectarnos.
# '-L' crea el túnel (port forwarding)
# '13389' es el puerto que utilizamos en el equipo personal, que por
# convención tiene el IP = 127.0.0.1
# '3389' es el puerto en la máquina del CCA, el donde "escucha"
# el servidor RDP.

Dejar activa esta conexión mientras se esté usando la conexión RDP.

Conectarse con el cliente RDP

Usando el cliente específico para el sistema operativo del equipo personal, nos conectamos a 127.0.0.1:13389:

  • Linux - Remmina: poner 127.0.0.1:13389 en el campo “PC name”. Seleccionar RDP como protocolo de conexión.

  • Mac - Windows APP: poner 127.0.0.1:13389 en el campo “Server”.

  • Windows - Conexión a Escritorio Remoto: poner 127.0.0.1:13389 en el campo “Equipo”.

Si saliera un aviso parecido al de la figura de abajo, se puede tranquilamente pinchar en “Sí” y marcar la casilla “No volver a preguntarme …”

Aviso sobre identitad equipo remoto

Entorno XFCE4

El entorno de ventana es el XFCE4, un entorno ligero especialmente indicado para este tipo de conexión. Si la primera vez sale un cuadro preguntando sobre el tipo de panel (“first start of the panel”), conviene seleccionar “Use default config” (ver figura abajo).

XFCE4 - first start of the panel

Luego, para que la terminal cargue correctamente el entorno, hay que ir a Edit -> Preferences -> General y marcar la casilla “Run command as a login shell”.

Si notaras algo de lentitud en el uso del RDP, puedes probar lo siguiente para hacerlo más rápido: Ir a Applications (arriba a la izquierda), Settings, Window Manager Tweaks, pestaña Compositor, y ahí desmarcar la opción “Enable display compositing”.

Log out

Cuando se haya terminado de trabajar, lo recomendable es salir de sesión (“Log out”, igual que se haría en el ordenador del CCA), y cerrar la sesión VPN.

VNC

Si el rendimiento del RDP no fuera satisfactorio, se puede usar en alternativa una conexión VNC, con las siguientes instrucciones proporcionadas por el CAU del IAC.

  • Es importante saber si ya hay iniciada una sesión con vncserver en la máquina del CCA, para eso, basta con hacer un ssh a ella y comprobar si nos devuelve algo un vncserver -list. Si tenemos conexiones previas, aparecerá un número para el Display (ej.:0) y otro para el id del proceso (este no nos importa).

  • Cortamos el ssh anterior y hacemos uno con la línea:

    ssh -L 5900:localhost:5900 usuario@maquina.cca.iac.es
    

    En esta línea hay que modificar los 5900 en función al display que nos ha dado el punto número 1… si el display al que nos queremos conectar es el :0 o no se está ejecutando el vncserver, debemos usar el 5900… si el display es superior a 0, debemos sumarlo al 5900. (ej. si el display es :3, el 5900 lo sustituimos por 5903).

  • Si no hay un vncserver corriendo, ejecutamos el vncserver. Si ya hay un display abierto, ignoramos este punto.

  • Desde la máquina cliente, ejecutamos el vncviewer y nos conectamos al servidor: localhost:DISPLAY, donde DISPLAY es el número que nos devolvió el punto 1 (ej. localhost:0).