Synology: Autenticación mediante llave pública en SSH

2021-01-18

Índice

  1. Fichero de configuración
  2. Reiniciar servidor SSH
  3. Generar las claves
  4. Permisos unix
  5. Copia clave pública
  6. Conectando
  7. Referencia:

Normalmente cuando accedes mediante SSH a tu servidor NAS sueles habilitar el servicio SSH, si no lo tenias habilitado ya, y te autentificas mediante un usuario y contraseña. Utilizando la llave publica para autenticarte podrás conectar con tu servidor sin necesidad de introducir un usuario y contraseña.

Fichero de configuración

Lo primero que debemos de hacer es conectarnos mediante SSH a nuestro servidor como lo haces normalmente, con tu usuario y contraseña y editar el fichero /etc/ssh/sshd_config Al ser un fichero del sistema necesitaras utilizar sudo para obtener permisos de administrador, recuerda que para poder utilizar el comando sudo el usuario debe de pertenecer al grupo de Administradores

sudo vi /etc/ssh/sshd_config

Descomenta las lineas que contengan PubkeyAuthentication yes y AuthorizedKeysFile

Si además quieres que sólo se pueda acceder mediante la clave publica y deshabilitar el login mediante contraseña, pondremos la linea PasswordAuthentication no

Reiniciar servidor SSH

Como hemos modificado el fichero de configuración deberemos reiniciar el servicion SSH, podemos hacerlo de dos formas diferentes

  • Habilitando y deshabilitando el servicio desde DSM

img

  • Si aun estamos conectado al NAS por SSH, ejecutando el comando

    sudo synoservicectl –restart sshd

Generar las claves

Ahora necesitamos generar el par de claves pública y privada de nuestro usuario en el NAS, así que volvemos a conectar vía SSH al servidor y ejecutamos el comando ssh-keygen -t rsa, no pongas ninguna contraseña a las claves.

ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/var/services/homes/usuario/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /var/services/homes/usuario/.ssh/id_rsa.
Your public key has been saved in /var/services/homes/usuario/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx usuario@dominio-NAS
The key's randomart image is:
+---[RSA 2048]----+
|           .++.o=|
|           E.....|
|          .   +  |
|         o . o . |
|        S = +   .|
|         . O o o |
|          = = oo=|
|           o.O==*|
|           oOX%B*|
+----[SHA256]-----+

Permisos unix

Debemos de dar los permisos Unix adecuados a las carpetas y ficheros en el NAS, si no, no funcionara

chmod 0711 ~/.ssh
chmod 0600 ~/.ssh/authorized_keys
chmod 0711 ~

Copia clave pública

Para terminar debemos de copiar la clave pública del usuario que va realizar la conexión al servidor NAS con el comando ssh-copy-id,, desde el ordenador que quieras conectarte escribe:

ssh-copy-id  [email protected]
[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.

Conectando

Probamos la conexión, para comprobar que no nos pide la contraseña

ssh [email protected]

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

Referencia:


Ingrese la dirección de su instancia