OpenMediaVault: Autentificacion mediante claves públicas SSH

2018-12-28

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 [email protected]

/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

[email protected]'s password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh '[email protected]'"
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 [email protected]
 ____                 _                          ____  _   _____
|  _ \ __ _ ___ _ __ | |__   ___ _ __ _ __ _   _|  _ \(_) |___ /
| |_) / _` / __| '_ \| '_ \ / _ \ '__| '__| | | | |_) | |   |_ \
|  _ < (_| \__ \ |_) | |_) |  __/ |  | |  | |_| |  __/| |  ___) |
|_| \_\__,_|___/ .__/|_.__/ \___|_|  |_|   \__, |_|   |_| |____/
               |_|                         |___/

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

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.

Espero que te haya gustado, pasa un buen día. 🐧


Ingrese la dirección de su instancia