El acceso al clúster Drago se puede realizar mediante autenticación con claves SSH. Esto permite conectarse de forma segura a los nodos del clúster sin necesidad de usar contraseña en cada conexión.
Cada usuario debe generar un par de claves:
Importante: Esta guía se centra en generar y configurar claves desde el equipo local, no desde un nodo del clúster.
Usuarios del HPC Drago con cuenta activa, que necesiten conectarse de forma segura desde su equipo local usando claves SSH.
known_hostsknown_hostsA veces, al usar ssh o ssh-copy-id, pueden aparecer mensajes de error relacionados con claves de host, como:
Warning: the ED25519 host key for 'drago.csic.es' differs from the key for the IP address '161.111.XXX.XXX'
Offending key for IP in /home/usuario/.ssh/known_hosts:23
Matching host key in /home/usuario/.ssh/known_hosts:36
Host key verification failed.
Esto ocurre cuando la máquina local tiene entradas antiguas o duplicadas para Drago, y ssh no puede verificar la identidad del host.
Opción 1 (recomendada): Mediante comandos
ssh-keygen -R drago.csic.es
ssh-keygen -R <IP>
ssh-copy-id -i ~/.ssh/id_ed25519_usuario_drago.pub usuario@drago.csic.es
Se confirma la nueva clave de host escribiendo yes cuando se nos pida. Esto limpia las entradas conflictivas y permite que la clave ED25519 funcione correctamente.
Opción 2: Editando el fichero known_hosts
Editar directamente el fichero known_hosts y eliminar las líneas conflictivas asociadas a drago.csic.es y/o la IP:
nano ~/.ssh/known_hosts
Después, volver a ejecutar:
ssh-copy-id -i ~/.ssh/id_ed25519_usuario_drago.pub usuario@drago.csic.es
Esta alternativa logra el mismo efecto que la anterior y puede ser útil si se prefiere un control manual sobre las entradas del fichero.
Las claves compatibles con Drago son en formato OpenSSH. No son compatibles las claves de PuTTY con extensión .ppk, que sin embargo son necesarias para algunas herramientas como WinSCP o FileZilla.
Las claves SSH pueden protegerse con contraseña, según la preferencia de cada usuario. No obstante, usar contraseña puede dificultar la automatización de conexiones a Drago, ya que algunos programas no la soportan o requieren pasos adicionales para gestionarla.
Para generar la clave por defecto en el equipo local, se puede ejecutar desde el directorio home (~/) sin parámetros adicionales, siempre que no exista ya una clave ED25519 por defecto en ~/.ssh:
ssh-keygen -t ed25519
El parámetro
-tindica el tipo de clave (ED25519).
Durante el proceso se puede establecer una contraseña para proteger la clave privada, o pulsar Enter para no usar contraseña. Esto genera por defecto:
~/.ssh/id_ed25519~/.ssh/id_ed25519.pubSi se desea añadir comentarios a la clave o especificar la ruta del fichero, se puede usar la versión extendida:
ssh-keygen -t ed25519 -C <comentario> -f ~/.ssh/id_ed25519_<nombre>
El parámetro
-tindica el tipo de clave (ED25519).
El parámetro-Ces un comentario que quedará dentro de la clave pública y sirve para identificarla si se usan varias (Por defecto es usuariolocal@hostname).
El parámetro-findica la ruta y el nombre del fichero donde se guardará la clave.
La clave puede guardarse en otra ruta distinta de
~/.ssh, pero en ese caso será necesario indicar siempre dicha ruta en los comandos de conexión.
Este comando genera los siguientes archivos:
~/.ssh/id_ed25519_<nombre>~/.ssh/id_ed25519_<nombre>.pubLa carpeta .ssh está oculta en Linux/Mac, para poder verla, es necesario ejecutar el siguiente comando desde home:
ls -la
Pasos una vez abierto:
Para un manual detallado, consultar: Generación de clave con PuTTY
Para poder conectarse, la clave pública debe copiarse desde el equipo local a Drago.
Desde el equipo local, ejecutar, si la clave ED25519 se generó usando los nombres por defecto:
ssh-copy-id -i ~/.ssh/id_ed25519 usuario@drago.csic.es
o si la clave se generó con un nombre personalizado, hay que especificarlo:
ssh-copy-id -i ~/.ssh/id_ed25519_<nombre>.pub usuario@drago.csic.es
Se pedirá la contraseña de la cuenta de Drago. Esto añadirá la clave pública al fichero authorized_keys del servidor. Después, ya podremos conectarnos usando la clave ED25519.
Si no se dispone de ssh-copy-id:
~/.ssh/id_ed25519_usuario_drago.pub).nano ~/.ssh/authorized_keys
Si el fichero no existe, es necesario crearlo, en ese caso tendremos que asegurarnos de que tenga los permisos correctos:
chmod 600 ~/.ssh/authorized_keys
Dependiendo del sistema operativo, podemos conectarnos de las siguientes formas:
~/.ssh/id_ed25519), conectar usando:ssh usuario@drago.csic.es
si no, es necesario añadir el parámetro -i indicando la ruta de la clave privada (no la .pub):ssh usuario@drago.csic.es -i ruta/a/tu/id_ed25519_<nombre>
Instalar OpenSSH si no está disponible:
sudo dnf install openssh-clientssudo apt install openssh-clientDesde terminal, si se crearon las claves por defecto (~/.ssh/id_ed25519) Conectar usando:
ssh usuario@drago.csic.es
si no, es necesario añadir el parámetro -i indicando la ruta de la clave privada (no la .pub):
ssh usuario@drago.csic.es -i ruta/a/tu/id_ed25519_<nombre>
~/.ssh/id_ed25519) Conectar usando:ssh usuario@drago.csic.es
si no, es necesario añadir el parámetro -i indicando la ruta de la clave privada (no la .pub):ssh usuario@drago.csic.es -i ruta/a/tu/id_ed25519_<nombre>
Para un manual detallado, consultar: Conexión al cluster.