El acceso a Caléndula se realiza mediante el protocolo SSH
Secure Shell. Este protocolo sirve para el acceso a máquinas remotas a través de una red. Permite el trabajo remoto a través de un intérprete de comandos, aunque también permite redirigir el tráfico de los programas gráficos del equipo remoto hacia la pantalla del equipo local.
SSH
utiliza técnicas de cifrado que impiden el acceso de terceros al contenido de las comunicaciones. Al tratarse de un protocolo seguro entran en juego conceptos como clave pública/privada, fingerprint, etc. No es el objeto de este manual entrar en detalle en estos conceptos pero es necesaria una breve descripción para comprender en su totalidad el proceso de conexión y así asegurar la confidencialidad del tráfico entre en el sistema del usuario y el sistema de la SCAYLE.
El concepto de huella digital única o clave pública es una cadena alfanumérica de caracteres que identifican a un servidor específico y que nos sirve para garantizar que el servidor que nos está contestando es realmente aquel al que queríamos conectarnos.
La URL calendula.scayle.es es el acceso al superordenador, pero tras esta dirección realmente hay dos servidores distintos (llamados frontend11 y frontend12) que se encargan de atender las peticiones de inicio de sesión de los usuarios remotos. Así se consigue repartir entre los dos servidores el número de usuarios que simultáneamente acceden a Caléndula. Pero esta solución, plantea el inconveniente de que los dos servidores tienen claves públicas distintas, aunque desde el exterior respondan a la misma dirección. Esto plantea el problema de las claves públicas ssh ya que la primera vez se guarda la clave de uno de los frontend y las siguientes veces al cambiar el frontend donde se inicia sesión puede aparecer una alerta de seguridad avisando de un posible ataque de ‘man-in-the-middle’.
En el archivo ecdsa_keys_calendula.txt están las claves de los dos frontends. Pueden copiar el contenido de este archivo al archivo $HOME/.ssh/know_hosts de su usuario en su máquina local o programa de conexión SSH que usen para conectar con Caléndula.
Los fingerprints de los dos frontends son:
Clave ECDSA frontend11. Formato MD5: e1:b4:0c:06:07:97:64:61:ca:94:fb:b7:95:b4:01:e2
Clave ECDSA frontend11. Formato SHA256: ENVK4Jkwgx1452ZXzho6kz9CDzAHu1nVwOve4tAWy1Q
Clave ECDSA frontend12. Formato MD5: 23:af:ce:0c:c3:f4:ef:43:37:da:e3:45:17:d3:87:e5
Clave ECDSA frontend12. Formato SHA256: zEDXH07QlixqR3sJ0jHb/n8c87NGX1sXF433R4iYgLE
En cumplimiento del Esquema Nacional de Seguridad, SCAYLE solo acepta claves con el algoritmo de firma ECDSA y una curva NIST P-521.
Para acceder a Caléndula es necesario contar con un usuario activo (que habrá sido facilitado por SCAYLE) y su respectiva contraseña. Además, será necesario que los usuarios generen pares de claves pública/privada para cada dispositivo/aplicación que vayan a utilizar para acceder a Caléndula y que trasfieran las claves públicas generadas a SCAYLE para que puedan acceder. Las instrucciones para realizar esta trasferencia están más abajo en esta página.
Los sistemas operativos Windows no instalan por defecto ninguna utilidad que permita el acceso remoto a otros sistemas mediante el protocolo SSH
.
Desde SCAYLE recomendamos los siguientes programas para realizar la conexión a nuestros sistemas:
SFTP
, servidor X11, etc.Una vez instalado alguno de los programas anteriores, los valores de configuración para el acceso a Caléndula son los siguientes:
Host Name (or IP address): calendula.scayle.es
Puerto: 22
Tipo de conexión: ssh
El acceso a Caléndula desde sistemas operativos Linux o macOS es más sencillo ya que estos sistemas operativos (al menos la gran mayoría de distribuciones) cuentan con los programas necesarios ya instalados. Habitualmente tanto en el caso de macOS como en diversas distribuciones de Linux, el programa se llama Terminal.
Para conectarnos desde estos sistemas a Caléndula, únicamente es necesario introducir el siguiente comando en el programa Terminal:
ssh
Nos pedirá la contraseña de nuestro usuario e iniciaremos la sesión.
Al igual que ocurre con la conexión mediante las herramientas de Windows, el acceso mediante ssh
comprueba que la clave pública del sistema al que nos estamos conectando coincida con la que tiene almacenada. Como se ha indicado más arriba, para evitar el aviso de seguridad, debe copiar las claves de los frontends del sistema al archivo.
$HOME/.ssh/know_hosts
En esta guía, aprenderás a subir tu clave pública a Caléndula de manera segura y automatizada. Este proceso garantiza que solo los usuarios autorizados puedan añadir claves a servidores específicos, manteniendo la seguridad e integridad del sistema. Utilizaremos el algoritmo ECDSA (Elliptic Curve Digital Signature Algorithm) con la curva NIST P-521 para generar y gestionar las claves públicas.
Paso 1: Obtener la Clave Pública
Primero, debes obtener tu clave pública en el formato adecuado para el algoritmo ECDSA utilizando la curva NIST P-521, conocida como ecdsa-sha2-nistp521
.
En el caso de usar programas que proporcionan un emulador de terminal o línea de comandos como Terminal, iTerm2 (ambos en macOS), WSL, PuTTY, MobaXterm (en Windows) la forma de generar el par de claves público/privado es utilizando el comando:
ssh-keygen -t ecdsa -b 521
Este comando creará, dentro del directorio raíz o $HOME local del programa utilizado, un directorio llamado .ssh y dentro se crean dos archivos comúnmente llamados
id_ecdsa
id_ecdsa.pub
El contenido de este último, con extensión .pub, es la clave pública que tiene que trasferir a SCAYLE.
En el caso de utilizar MobaXterm es necesario destacar que, por defecto, el directorio HOME en donde se crean los archivos de claves generados con el comando anterior, es un directorio temporal. Esto quiere decir que cada vez que se cierra el programa, el directorio y todo su contenido es eliminado. Esto obligaría a generar y trasferir nuevas claves cada vez que se abra MobaXterm.
Primero. Para evitar este comportamiento, seleccione dentro del menu Settings, la opción Configuration. En la ventana que se abre, la primera opción que aparece en el apartado General llamada Persistent home directory indica la ruta en donde se almacenará el directorio HOME del usuario de MobaXterm.
Seleccione una ruta para guardar ese directorio en su disco y haga click en el botón OK. Por ejemplo,
Segundo. Abrir una nueva terminal. Para ello seleccionaremos Terminal y Open new tab.
Tercero. Ejecutaremos el siguiente comando: ssh-keygen -t ecdsa -b 521
Cuarto. Acceder a la opción Settings, Configuration, SSH y aquí marcar la casilla Use internal SSH agent MobAgent y añadir la clave generada en el recuadro siguiente.
Quinto. Ahora será el momento de enviar la clave pública generada a SCAYLE para que sea añadida en su directorio HOME de Caléndula.
En el caso de utilizar programas de trasferencia de ficheros hacia o desde Caléndula, como por ejemplo Filezilla, WinSCP, CyberDuck, Bitvise, etc., también es necesario configurar el par de claves público/privada.
Cada uno de estos programas tiene un modo diferente de configurar la conexión a Caléndula para añadir las claves generadas. Consulte la documentación del programa utilizado y en caso de dificultad, contacte con nuestro a través de la dirección para recibir ayuda con la configuración.
Pare este fin, puede ser de utilidad el programa puttygen que permite la generación del par de claves para su uso con cualquier programa de los anteriores que se tenga que configurar.
Paso 2: Enviar la Clave Pública por Correo Electrónico
A continuación, copia tu clave pública y envía un correo electrónico con las siguientes características:
De: el correo debe enviarse desde la cuenta de correo electrónico vinculada al servicio de supercomputación (HPC) de SCAYLE y con la que solicitó la creación de la cuenta de acceso.
Para:
Asunto: calendula
Cuerpo: Texto del archivo de la clave pública generada (id_ecdsa.pub) (sin marcas de agua, firmas o cualquier otro texto). No comparta con SCAYLE nada más que el contenido de dicho archivo
Paso 3: Confirmación del Proceso
Después de enviar el correo, recibirás una respuesta del servidor que indicará el estado del proceso. Los posibles resultados son:
Cuando el sistema solicita introducir la contraseña, es importante señalar que, no aparecerán ningún tipo de símbolos en la pantalla (*, #, …
). Esto es así para evitar que un observador externo pueda tener un indicio de la longitud de la contraseña introducida.
Una vez realizada la conexión a nuestro sistema, se entra en uno de los dos nodos de login (frontends) desde los que se pueden transferir datos, editar sus scripts de envío de trabajos, trabajar con el sistema de ficheros, etc.
IMPORTANTE: No se permite ningún tipo de actividad de cálculo en estos nodos. Tenga en cuenta que son servidores compartidos entre todos los usuarios y actividades que demanden una gran cantidad de memoria o de tiempo de CPU, perjudicarán el trabajo del resto de usuarios. Por ello, existen límites establecidos en el tiempo de CPU y en la cantidad de procesos que un usuario puede abrir.