OpenMediaVault: Autentificacion mediante claves públicas SSH

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.

ssh-keygen -b 4096 -t rsa

Generating public/private rsa key pair.
Enter file in which to save the key (/home/usuario/.ssh/id_rsa): /home/usuario/.ssh/prueba_rsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/usuario/.ssh/prueba_rsa.
Your public key has been saved in /home/usuario/.ssh/prueba_rsa.pub.
The key fingerprint is:
SHA256:spxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxA usuario@Aspire-E5-574G
The key's randomart image is:
+---[RSA 4096]----+
|                 |
|                 |
|                 |
|     .           |
|  .oE . S        |
| .ooo+.+         |
|..*=oOB.         |
|B*==OOB          |
|O=oo=*BBo.       |
+----[SHA256]-----+

Podemos ver las claves generadas:

ls -l .ssh

total 8
-rw------- 1 usuario users 771 jun 18 19:47 prueba_rsa
-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

ssh-copy-id -i prueba_rsa.pub root@10.8.0.3

/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/usuario/.ssh/prueba_rsa.pub"
The authenticity of host '10.8.0.3 (10.8.0.3)' can't be established.
ECDSA key fingerprint is SHA256:d1xxxxxxxxxxxxxxxxxxxxN4.
Are you sure you want to continue connecting (yes/no)? yes
/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/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

root@10.8.0.3's password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'root@10.8.0.3'"
and check to make sure that only the key(s) you wanted were added.

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

ssh root@10.8.0.3
 ____                 _                          ____  _   _____
|  _ \ __ _ ___ _ __ | |__   ___ _ __ _ __ _   _|  _ \(_) |___ /
| |_) / _` / __| '_ \| '_ \ / _ \ '__| '__| | | | |_) | |   |_ \
|  _ < (_| \__ \ |_) | |_) |  __/ |  | |  | |_| |  __/| |  ___) |
|_| \_\__,_|___/ .__/|_.__/ \___|_|  |_|   \__, |_|   |_| |____/
               |_|                         |___/

Welcome to ARMBIAN 5.46 experimental Debian GNU/Linux 9 (stretch) 4.14.71-v7+
System load:   0.47 0.45 0.53   Up time:       6:28 hours
Memory usage:  41 % of 976MB    Swap usage:    74 % of 488Mb    IP:            192.168.1.3
CPU temp:      39°C
Usage of /:    77% of 7.2G      storage/:      13% of 30G

Raspberry Pi is a slow NAS: https://forum.openmediavault.org/index.php/Thread/19871

[ General system configuration (beta): armbian-config ]

Last login: Sat Oct 20 01:12:16 2018 from 10.8.0.1

root@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

omv-ssh1.png.

No olvides aplicar los cambios

omv-ssh2.png.

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.