---
og:title: Conexión a Clementina XXI
---

# Conexión a Clementina XXI

El acceso a Clementina se realiza a través de una VPN del Servicio Meteorológico Nacional.

## VPN 
:::{warning}
Es posible que la VPN requiera de pasos adicionales o levantar restricciones en el caso de conectarse a través de un proxy o una red de instituto/universidad. Por favor, comuníquese con el personal de su institución en ese caso.
:::

La VPN está disponible en

|Gateway|Puerto|
|---|---|
|vpn.clementinaxxi.org.ar|10443|

Para conectarse, se puede utilizar el cliente [Forticlient](https://www.fortinet.com/support/product-downloads) en Windows y [openfortivpn](https://github.com/adrienverge/openfortivpn) en Linux (disponible como paquete).

En Windows, la configuración es la siguiente

![Config VPN Windows](../images/acceso/forticlient_vpn.png)

En Linux, se puede acceder con

```console
sudo openfortivpn vpn.clementinaxxi.org.ar:10443 -u <usuario> -p <password> --trusted-cert 990ac2e45fd8180f5c8697bf55a26af069247460fc18de601779fefa7d0499a3

```
donde `<usuario>` y `<contraseña>` son los asignados. El valor del certificado puede cambiar, en cuyo caso el cliente mismo va a pedir que se agregue.

Adicionalmente, se puede editar el archivo `/etc/openfortivpn/config` para guardar los parámetros del programa:

```
### configuration file for openfortivpn, see man openfortivpn(1) ###

host = vpn.clementinaxxi.org.ar
port = 10443
username = <usuario>
password = <contraseña>
trusted-cert = 990ac2e45fd8180f5c8697bf55a26af069247460fc18de601779fefa7d0499a3
```

En cuyo caso solo es necesario correr

```console
sudo openfortivpn
```

para establecer la conexión. En el caso exitoso va a aparecer el mensaje `INFO:   Tunnel is up and running.` y hay que dejar la sesión corriendo mientras en otra terminal se realiza la conexión a Clementina.

En caso contrario, ver la sección de [Errores Frecuentes](#seccion-errores).

## Acceso

El acceso a Clementina XXI es a través de SSH (Secure Shell). Una vez establecida la conexión mediante VPN, se accede mediante:

```console
ssh <usuario>@ssh.clementinaxxi.org.ar
```

donde `<usuario>` es el nombre de usuario asignado. Luego de esto se pide la contraseña con un prompt (sin indicación de los caracteres ingresados). Para salir puede ejecutarse el comando `exit` o el atajo `CTRL+D`.

¡Felicitaciones! Está dentro de Clementina XXI. 

Una vez dentro, se puede (y se recomienda) cambiar la contraseña con el comando:
 
```
passwd
```

Notar que esta es la misma contraseña que utiliza para la VPN. Por lo cual al volver a conectarse la VPN le solicitará la nueva contraseña. 

## Intercambio de archivos

Para intercambiar archivos mediante SFTP (_Secure File Transfer Protocol_) se usa una sintaxis prácticamente idéntica a la de SSH. Por ejemplo, 



```console
sftp <usuario>@ssh.clementinaxxi.org.ar
Connected to login.
sftp>
```

La consola resultante tiene comandos básicos para moverse sobre el cluster (`ls`, `cd`, `pwd`, etc.) y sobre el cliente local(`lls`, `lcd`, `lpwd`, etc.). Con estos comandos se pueden buscar archivos o carpetas para transferir y el lugar en donde se desea enviarlos o recibirlos. Para descargar archivos se usa el comando `get` y para subirlos `put` (con `-r` en el caso de que se trate de un directorio). Por ejemplo, para descargar un archivo y una carpeta:

```bash
sftp> ls # Archivos en Clementina
CLOCK
Cu-fcc
sftp> lls # Archivos en la PC local
anaconda.bashrc
Audio
sftp> get CLOCK
Fetching /home/user/CLOCK to CLOCK
CLOCK                                                       100%   31     0.4KB/s   00:00    
get -r Cu-fcc
Fetching /home/user/Cu-fcc/ to Cu-fcc
Retrieving /home/user/Cu-fcc
OUTCAR                                                      100%   41KB 461.1KB/s   00:00    
WAVECAR                                                     100%  798KB   3.4MB/s   00:00    
DOSCAR                                                      100%   11KB   1.2MB/s   00:00    
POTCAR                                                      100%  225KB   6.8MB/s   00:00    
PCDAT                                                       100%  234   127.5KB/s   00:00    
XDATCAR                                                     100%  247   119.3KB/s   00:00    
CONTCAR                                                     100%  402   184.8KB/s   00:00    
CHG                                                         100% 2075KB  10.2MB/s   00:00    
INCAR                                                       100%   95    52.9KB/s   00:00    
KPOINTS                                                     100%   43    22.0KB/s   00:00    
EIGENVAL                                                    100% 4153     1.9MB/s   00:00  
```

Para subir archivos el proceso es similar:

```bash
sftp> put Audio/adams-hitchhiker-01.mp3 
Uploading Audio/adams-hitchhiker-01.mp3 to /home/user/adams-hitchhiker-01.mp3
adams-hitchhiker-01.mp3                                     100%   25MB  11.0MB/s   00:02
```

Los archivos son en principio copiados y no eliminados, pero se debe tener cuidado de no sobreescribirlos.

## Autenticación sin contraseña
Es posible usar un método de autenticación que no requiere contraseña (en principio). Este método es el de _autenticación por clave pública-privada_. Esto permite conectarse sin usar contraseña. El método de autenticación genera en la computadora que va a comportarse como cliente una clave pública que puede compartirse con todos los equipos a los que se vaya a conectar, y una clave privada que debe permanecer en la computadora cliente. 

:::{warning}
Los archivos generados para la clave pública y privada suelen tener nombres muy parecidos. *Nunca* se debe compartir la clave privada. La clave pública frecuentemente va a tener el sufijo `.pub` que permite distinguirla de la privada. Si no funciona la autenticación con el archivo de ese sufijo no se debe intentar compartir la clave privada.
:::

Para generar un par de claves en una computadora con `ssh` instalado, se ejecuta

```bash
$ ssh-keygen -a 100 -t ed25519 -f ~/.ssh/id_ed25519 
```
(ed25519 es el nombre del algoritmo criptográfico utilizado)

A continuación se pide una *passphrase* opcional. La *passphrase* no es necesaria pero añade seguridad, dado que cualquier persona con acceso a su computadora puede loguearse en el cluster si no hay *passphrase*. La clave privada generada va a ser `~/.ssh/id_ed25519` y la pública `~/.ssh/id_ed25519.pub`.

Para poder loguearse en el cluster con esta autenticación, se debe copiar el contenido de `~/.ssh/id_ed25519.pub`, que tiene la siguiente forma 

```
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDVfypnCNc/ufTwhnO3qMTE/a5O4QDjJ6C7OeWYb5Yy6 user@host
```
Una vez copiado el contenido, se debe ingresar en el usuario del cluster y pegarlo en el archivo `~/.ssh/authorized_keys`. Es posible añadir múltiples claves para poder acceder desde distintos equipos. Una vez guardado este archivo ya debería ser posible loguearse remotamente sin contraseña.

(seccion-errores)=
## Errores Frecuentes
Ver [Errores frecuentes](../FAQ/errores_frecuentes.md).
