Tutorial de acceso a Leftraru via SSH

De NLHPC

Accediendo desde un equipo Linux o Mac OSX

Para realizar una conexión desde un sistema GNU/Linux o MacOSX, use el comando SSH (ejemplo con usuario "prueba") e indicar el uso del puerto 4603.

Por ejemplo, el usuario Dave Bowman (nombre de usuario dbowman) accede al clúster ejecutando:

$ ssh -p 4603 dbowman@leftraru.nlhpc.cl
dbowman@leftraru.nlhpc.cl password: 

[...]

dbowman@leftraru2:~$ 

Guardar información de la sesión

Es posible almacenar los datos de conexión bajo el archivo ~/.ssh/config, lo que nos otorgará un poco más de flexibilidad a la hora de conectarnos.

Por ejemplo, el usuario Dave Bowman edita el archivo mencionado con:

vi ~/.ssh/config

y agrega la siguiente información:

Host leftraru
    Hostname leftraru.nlhpc.cl
    User dbwoman
    Port 4603
    UpdateHostKeys no

El parámetro Host indica el valor leftraru como nombre de conexión. Este valor podrá ser utilizado directamente con el comando ssh.

El valor Hostname indica la dirección a la cual nos queremos conectar (puedes indicar una IP si así lo deseas).

Los parámetros User y Port ya los hemos visto.

Y por último el parámetro UpdateHostKeys indica si deberá aceptar o no los cambios de llaves en el servidor. Por seguridad se recomienda el valor no.

Una vez que se edito esta información, nuestro usuario podrá acceder al clúster con tan solo escribir el comando:

ssh leftraru

Es posible tener una gran cantidad de entradas en nuestro archivo .ssh/config

Un ejemplo del archivo de configuración con más cantidad de entradas sería similar a:

Host leftraru
    Hostname leftraru.nlhpc.cl
    User dbwoman
    Port 4603
    UpdateHostKeys no

Host l1
    Hostname leftraru1.nlhpc.cl
    User dbwoman
    Port 4603
    UpdateHostKeys no

Host l2
    Hostname leftraru2.nlhpc.cl
    User dbwoman
    Port 4603
    UpdateHostKeys no

Host HAL
    Hostname 127.0.0.1
    User dbwoman
    Port 9000
    UpdateHostKeys no
...

Con dicha configuración, el usuario podría acceder usando uno de los siguientes comandos:

ssh l1
ssh l2

Accediendo desde un equipo Windows

Para conectar desde sistemas Windows, se recomienda usar Putty como cliente SSH.

Como vemos en el ejemplo se indican los campos:

  • Hostname: dbowman@leftraru.nlhpc.cl
  • Puerto: 4603
Putty-dbowman-hostname.png

Y se realiza la conexión haciendo click en el botón inferior Open.

Si la conexión es exitosa podremos ingresar el usuario y contraseña.

En este ejemplo, es el usuario Dave Bowman (dbowman) quien intenta conectarse al clúster.

Putty-dbowman-user-ssh.png

Recuerda que al momento de ingresar tu contraseña, esta no será desplegada en pantalla.

Guardar nuestra sesión

Una vez que se ingresa los valores de Hostname' y Puerto, es posible almacenar dicha información indicando un nombre en el campo Saved Sessions y presionando el botón Save.

La próxima vez que necesitemos acceder al cluster, bastará hacer doble click sobre la sesión que necesitemos abrir.

Por ejemplo en este caso es posible ver que las siguientes sesiones están almacenadas:

  • Default
  • L1
  • L2
  • Leftraru

Acceso utilizando llaves (Recomendado)

La autenticación con clave pública es un método de seguridad alternativo a las contraseñas, mucho más difícil de hackear y, por lo tanto, más seguro. Este método de autenticación es recomendable usarlo para acceder a servidores.

La clave SSH consiste en la generación de un par de claves que proporcionan dos largas cadenas de caracteres, una pública y una privada. La clave pública se instala en cualquier servidor y luego se desbloquea mediante la conexión con un cliente SSH que hace uso de la clave privada. Si las dos claves coinciden, el servidor SSH permite el acceso sin necesidad de utilizar una contraseña. No obstante, para añadir una capa de seguridad adicional, siempre podemos aumentar la protección de la clave privada usando una contraseña.

Entonces nuestro usuario Dave Bowman creará una llave en su computadora personal para copiarla en el clúster siguiendo los pasos que se indican a continuación:

[dave@HAL ~]$ ssh-keygen

Tras ejecutar el comando obtendremos la siguiente respuesta:

Generating public/private ed25519 key pair.

Una vez ejecutada la instrucción para generar las claves, se nos pedirá que indiquemos la ruta en la que queremos almacenar la clave:

Enter file in which to save the key (/home/dave/.ssh/id_rsa):

Tras indicar la ruta en la que se almacenará la clave, lo siguiente que tendremos que hacer es indicar una contraseña (puede dejar vacío para acceso directo):

Enter passphrase (empty for no passphrase):

Finalmente debemos copiar nuestra llave pública al cluster:

[dave@HAL ~] ssh-copy-id -p 4603 dbowman@leftraru.nlhpc.cl
Number of key(s) added:        1

Now try logging into the machine, with:   "ssh -p '4603' 'dbowman@leftraru.nlhpc.cl'"
and check to make sure that only the key(s) you wanted were added.

Ahora ya podremos conectarnos directamente con nuestras llaves:

[dave@HAL ~] ssh -p 4603 dbowman@leftraru.nlhpc.cl

Cambiar contraseña

Para cambiar la contraseña de usuario, es necesario que esta cumpla con ciertos requisitos como por ejemplo:

  • El mínimo de caracteres son 10.
  • Debe ser alfanumérica.
  • Tener 3 caracteres especiales (al menos 1 mayúscula – 1 minúscula y 1 número).

Para ejecutar esta acción, utilice el siguiente comando:

[dbowman@leftraru1 ~]$ passwd

Changing password for user dbowman.
(current) LDAP Password: <- Ingrese su contraseña actual.

New password: ********* <- Ingrese su nueva contraseña.

Retype new password: Reingrese su nueva contraseña.

passwd: all authentication tokens updated successfully.

Confirmación de cambio de clave exitoso, le recomendamos cerrar su sesión e ingresar nuevamente a nuestro sistema ingresando su nueva contraseña.

Conexión a nodos actualmente utilizados

Algunas veces, por distintas circunstancias, sería deseable tener la posibilidad de ingresar al nodo donde se estén ejecutando nuestras tareas con tal de verificar su estado, comprobar ciertos valores, etc.

Pensado en la comodidad de los usuarios, se ha implementado un módulo del gestor que colas SLURM que permite esta funcionalidad. Por tanto, el login será permitido en todas aquellas máquinas donde actualmente exista un trabajo nuestro.

Por ejemplo; nuestra tarea de prueba 'tarea_test.sh' ha sido enviada a la cola y ha ingresado con el ID '3469576'. Slurm reservó el nodo 'cn053' para llevar a cabo la ejecución, por tanto el usuario tiene permitido el ingreso mediante ssh al nodo:

leftraru$ sbatch tarea_test.sh
leftraru$ squeue

 JOBID    PARTITION     NAME     USER   ST    TIME  NODES  NODELIST(REASON)
3469576    general      Prueba    test   R     1:57    1        sn007

leftraru$ ssh sn007
Last login: today 2016 from leftraru.nlhpc.cl
sn007$

Tenga en cuenta que aún se mantiene la restricción de ingreso para el resto de los nodos:

leftraru$ ssh sn001
Access denied: user test (uid=000) has no active jobs on this node.
leftraru$

Nodos Login

Aunque disponemos de 4 nodos para el acceso al clúster por parte de los usuarios, en general, hay que usar el nombre:

  • leftraru.nlhpc.cl

A la hora de conectarse por SSH al clúster. Al acceder a esa dirección se consigue que los usuarios queden conectados aleatoriamente a los nodos login.

Pero si resultara necesario, se puede acceder a un nodo login específicamente usando su nombre a la hora de realizar la conexión SSH:

  • leftraru1.nlhpc.cl
  • leftraru2.nlhpc.cl
  • leftraru3.nlhpc.cl
  • leftraru4.nlhpc.cl

Notas

Debido a que Leftraru balancea la carga de los nodos Login se debe evitar el uso de screen, ya que no se garantiza el acceso al mismo nodo que tenía la sesión screen abierta una vez que el usuario cierra su sesión.

Un usuario sólo podrá acceder por ssh a los nodos logins. En el caso de querer acceder a un nodo de cómputo, el usuario deberá tener al menos una tarea SLURM en ejecución en el nodo al cual necesite acceder, y deberá considerar que si dicha tarea finaliza, su sesión será cerrada del nodo.

Si falla muchas veces el intento de login por SSH o genera muchas conexiones, su IP podría ser bloqueada. Contacte por correo electrónico con Soporte indicando información relevante (más información aquí) si presenta problemas de conexión: soporte@nlhpc.cl