Synology: Autenticación mediante llave pública en SSH
2021-01-18
Índice
- Fichero de configuración
- Reiniciar servidor SSH
- Generar las claves
- Permisos unix
- Copia clave pública
- Conectando
- 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
-
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… 🐧