.. |br| raw:: html
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 ...):
.. sourcecode:: bash
chmod -c 700 ~/.ssh
chmod -c 600 ~/.ssh/id_ed25519
chmod -c 644 ~/.ssh/id_ed25519.pub
en el equipo del CCA:
.. sourcecode:: bash
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:
.. sourcecode:: bash
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:
.. sourcecode:: bash
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 ...'
.. figure:: CCA_aviso_RDP.png
:alt: Aviso sobre identitad equipo remoto
:align: center
:width: 100%
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).
.. figure:: xfce-desktop-first-run.jpeg
:alt: XFCE4 - first start of the panel
:align: center
:width: 100%
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:
.. sourcecode:: bash
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).