OpenMediaVault: Autentificacion mediante claves públicas SSH

4 minutos de lectura

Introducción

Si habitualmente solemos conectarnos mediante SSH al servidor OpenMediaVault podemos habilitar la autenticación mediante las claves públicas del cliente en vez de autenticarnos mediante usuario y contraseña como medida de seguridad y también por comodidad

Creación del par de claves (privada/pública)

Debemos de tener generadas el par de llaves pública y privada para cada usuario que vayamos a utilizar en la conexión.

En el ordenador del cliente ejecutamos el comando ssh-keygen -b 4096 -t rsa , nos preguntará por el nombre y ubicación de las claves a generar, y una contraseña para cifrar las claves, si no se pusiera una clave, la contraseña se guardaría sin cifrar, con los consiguientes riesgos que ello supone.

 1ssh-keygen -b 4096 -t rsa
 2
 3Generating public/private rsa key pair.
 4Enter file in which to save the key (/home/usuario/.ssh/id_rsa): /home/usuario/.ssh/prueba_rsa
 5Enter passphrase (empty for no passphrase):
 6Enter same passphrase again:
 7Your identification has been saved in /home/usuario/.ssh/prueba_rsa.
 8Your public key has been saved in /home/usuario/.ssh/prueba_rsa.pub.
 9The key fingerprint is:
10SHA256:spxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxA usuario@Aspire-E5-574G
11The key's randomart image is:
12+---[RSA 4096]----+
13|                 |
14|                 |
15|                 |
16|     .           |
17|  .oE . S        |
18| .ooo+.+         |
19|..*=oOB.         |
20|B*==OOB          |
21|O=oo=*BBo.       |
22+----[SHA256]-----+

Podemos ver las claves generadas:

1ls -l .ssh
2
3total 8
4-rw------- 1 usuario users 771 jun 18 19:47 prueba_rsa
5-rw-r--r-- 1 usuario users 611 jun 18 19:47 prueba_rsa.pub

Copiando las claves públicas

Ahora sólo nos quedará añadir la clave pública que acabamos de generar (prueba_rsa.pub) en el servidor SSH de OpenMediaVault, en mi caso la dirección de mi servidor es 10.8.0.3, el parámetro -i indica la ubicación del fichero de clave pública, en mi caso prueba_rsa-pub y el usuario de OMV root, en el cliente ejecutamos

1ssh-copy-id -i prueba_rsa.pub root@10.8.0.3
2
3/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/usuario/.ssh/prueba_rsa.pub"
4The authenticity of host '10.8.0.3 (10.8.0.3)' can't be established.
5ECDSA key fingerprint is SHA256:d1xxxxxxxxxxxxxxxxxxxxN4.
6Are you sure you want to continue connecting (yes/no)? yes
7/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
8/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys

Debemos introducir la contraseña del usuario root del servidor OMV

1root@10.8.0.3's password:
2
3Number of key(s) added: 1
4
5Now try logging into the machine, with:   "ssh 'root@10.8.0.3'"
6and check to make sure that only the key(s) you wanted were added.

Ahora probamos si podemos acceder solo con la llave pública

 1ssh root@10.8.0.3
 2 ____                 _                          ____  _   _____
 3|  _ \ __ _ ___ _ __ | |__   ___ _ __ _ __ _   _|  _ \(_) |___ /
 4| |_) / _` / __| '_ \| '_ \ / _ \ '__| '__| | | | |_) | |   |_ \
 5|  _ < (_| \__ \ |_) | |_) |  __/ |  | |  | |_| |  __/| |  ___) |
 6|_| \_\__,_|___/ .__/|_.__/ \___|_|  |_|   \__, |_|   |_| |____/
 7               |_|                         |___/
 8
 9Welcome to ARMBIAN 5.46 experimental Debian GNU/Linux 9 (stretch) 4.14.71-v7+
10System load:   0.47 0.45 0.53   Up time:       6:28 hours
11Memory usage:  41 % of 976MB    Swap usage:    74 % of 488Mb    IP:            192.168.1.3
12CPU temp:      39°C
13Usage of /:    77% of 7.2G      storage/:      13% of 30G
14
15Raspberry Pi is a slow NAS: https://forum.openmediavault.org/index.php/Thread/19871
16
17[ General system configuration (beta): armbian-config ]
18
19Last login: Sat Oct 20 01:12:16 2018 from 10.8.0.1
20
21root@OMV1:~#

Una vez que hemos comprobado que podemos acceder con la llave pública, procedemos a deshabilitar el acceso mediante usuario y contraseña y activar la autenticación mediante llave pública

Desde el panel de control de OMV en Servicios -> SSH

No olvides aplicar los cambios

A partir de ahora, ya no podremos acceder al sistema mediante el nombre de un usuario y su contraseña, para poder acceder mediante ssh al servidor, se utilizará la clave publica del cliente.