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

2021-01-18

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

Si no estas habituado a trabajar con el edito vi, simplemente pulsa la tecla i para entrar en modo insertar, cuando termines, pulsa la tecla ESC, luego : y por ultimo wq! para salvar los cambios y salir

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

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

Referencia:

Ingrese la dirección de su instancia


Más publicaciones como esta

OpenMediaVault: Autentificacion mediante claves públicas SSH

2018-12-28 | #gpg #ssh

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.

Continuar leyendo 


Asus RT-AC68U: Autenticación transparente mediante claves públicas

2018-12-06 | #router #ssh

Normalmente en los servidores SSH, además de autentificarte mediante el uso de usuario y contraseña, podemos conectarnos de una forma transparente, es decir, sin introducir el usuario y contraseña, mediante el uso de las claves públicas de los clientes que se vayan a conectar al servidor. Podemos configurar los routers Asus para que solo acepten conexiones mediante claves publicas y así aprovechar para poder deshabilitar la autentificacion mediante usuario y contraseña, para ello evidentemente, cada cliente que se vaya a conectar al router necesitará tener su par de de claves (públicas/privada), te remito a este articulo donde expliquó la forma de generarlas en Linux.

Continuar leyendo 