Tutoriels

Tuto : authentification SSH par clé sur les NAS Synology

Header SSH par clé NAS Synology

Pour des besoins de sauvegarde, j’ai besoin d’ouvrir l’accès à mon NAS via SSH de manière automatique. Nous allons donc voir dans ce tutoriel comment mettre en place une authentification SSH par clé sur les NAS Synology.

Pour des raisons de sécurité évidente, nous allons ici créer un nouvel utilisateur. Il parait logique de ne pas utiliser l’utilisateur root de votre NAS pour autre chose que des opérations d’administration. Ceci implique quelques modifications supplémentaires puisque par défaut, le NAS n’autorise que l’utilisateur root à se connecter en SSH.

Pour les besoins de ce tutoriel, nous allons assumer que vous possédez un NAS Synology accessible ou non depuis l’extérieur. L’exemple de connexion SSH avec authentification par clé sera quant à lui présenté depuis un serveur Linux distant.

Création de l’utilisateur sur le NAS

Commencez par vous connecter à l’interface d’administration de NAS et rendez-vous dans le panneau de configuration. Tout en bas, dans le menu Terminal & SNMP, assurez-vous que le service SSH est bien activé et choisissez un port personnalisé.

SSH par clé NAS Synology

Nous allons ensuite modifier un le paramètre Accueil Utilisateur dans le menu Utilisateur. L’activation de cette option permet la création automatique d’un espace de stockage pour chaque nouvel utilisateur créé. Celui nous servira notamment à stocker les clés pour l’authentification.

SSH par clé NAS Synology

Vous pouvez maintenant créer l’utilisateur en question dans le menu utilisateur. Choisissez un mot de passe suffisamment fort et laissez les autres paramètres par défaut.

SSH par clé NAS Synology

Notre utilisateur est maintenant créé. Nous allons maintenant effectuer quelques modifications en ligne de commande afin de lui permettre de se connecter en SSH.

Autoriser la connexion SSH

Depuis DSM 6, les NAS Synology n’acceptent plus la connexion SSH aux autres utilisateurs que root. Nous allons donc devoir nous connecter en SSH avec cet utilisateur root et modifier le fichier /etc/passwd.

Nous allons donc modifier le fichier en question :

sudo vi /etc/passwd

Repérez la ligne qui correspond à votre utilisateur (« save » dans cet exemple) :

save:x:1029:100::/var/services/homes/save:/sbin/nologin

Et modifiez-la de cette façon :

save:x:1029:100::/var/services/homes/save:/bin/sh

[learn_more caption= »Utilisation de vi »]

Si vous n’êtes pas habitué à l’éditeur vi, voici comment vous en sortir…

Une fois le fichier ouvert, appuyez sur la touche « i » pour activer le mode insertion.

Faites vos modifications comme expliqué dans le tutoriel puis appuyer sur la touche « Echap ».

Vous êtes maintenant en mode commande et il vous suffit de taper : « :wq! » et valider avec « Entrée ».[/learn_more]

À partir de là, la connexion par SSH est autorisée pour votre utilisateur. Vous pouvez tout de suite tester cela depuis Putty ou un autre serveur avec les identifiants que vous avez choisi à la création de l’utilisateur. N’oubliez pas de préciser le port que vous avez spécifié dans les options de  votre NAS.

SSH par clé NAS Synology

La connexion SSH pour le nouvel utilisateur est maintenant fonctionnelle. Nous allons maintenant mettre en place une authentification par clé sur un serveur distant pour automatiser le processus de connexion.

Mise en place de la clé sur le serveur distant

Connectez-vous à votre serveur en SSH et exécutez ces commandes pour générer la clé associée à votre serveur :

ssh-keygen -t rsa

Nous allons ensuite copier cette clé sur notre le NAS en nous connectant en SSH avec l’utilisateur que nous avons créé précédemment :

ssh-copy-id [email protected]_du_nas -p votre_port

Il vous suffit d’entrer le mot de passe de l’utilisateur pour que la clé soit ajoutée aux hôtes de confiance sur le Synology. Si vous êtes toujours connecté en root sur votre NAS, vous pouvez effectuer cette commande pour vérifier que la clé a bien été mise en place :

sudo cat /var/services/homes/save/.ssh/authorized_keys

Si vous recevez une erreur ou que rien ne s’affiche, c’est que la clé n’a pas été ajoutée. Reprenez les étapes précédentes ou créez manuellement le fichier en récupérer la clé publique depuis le serveur directement.

Configuration du NAS

Il nous reste quelques modifications à effectuer sur le NAS pour que l’authentification par clé fonctionne.

Tout d’abord, les permissions sur les répertoires doivent être configurées de manières très précises. Je me suis pris la tête un bon moment avant de comprendre que le NAS n’acceptait pas la connexion avec clé si les permissions ne sont pas conformes.

sudo chmod 755 /var/services/homes/user
sudo chmod 700 /var/services/homes/user/.ssh
sudo chmod 600 /var/services/homes/user/.ssh/*
sudo chown -R <user>:users /var/services/homes/user/.ssh

Nous allons ensuite modifier la configuration du serveur SSH du NAS pour autoriser l’authentification par clé. Pour cela, nous allons éditer le fichier /etc/ssh/sshd_config

sudo vi /etc/ssh/sshd_config

Et modifier/dé-commenter les lignes suivantes :

PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

Nous utilisons encore vi ici, reportez-vous aux explications données plus haut pour bien enregistrer le fichier. Dès que les modifications auront été effectuées, l’authentification par clé devrait être fonctionnelle sur votre NAS. Félicitations !

Related posts

Logitech Harmony et Google Home : contrôler son téléviseur

Edouard Patout

Tuto : Piwik sur Debian avec nginx

Edouard Patout

Tuto : Pydio sur Debian avec nginx

Edouard Patout

16 comments

BaBeuloula 22 mars 2017 at 18 h 14 min

Salut,

Sauf erreur de ma part, avec DSM 6 tous les utilisateurs du groupe administrators ont accès en SSH

Reply
Christophe 6 avril 2017 at 16 h 27 min

C’est juste je me suis fait la même réflexion.

Reply
Julien Doclot 6 avril 2017 at 23 h 29 min

Salut,

Merci pour cette réflexion. En effet, je viens de tester sur mon NAS et c’est le cas.

Reply
Jean-Marie Abatecola 26 août 2017 at 21 h 31 min

Merci pour l’article, ça fonctionne à merveille !

Reply
Jean-Marie Moes 5 septembre 2017 at 18 h 20 min

Excellent, ça fonctionne à merveille, merci beaucoup !

Reply
Julien Doclot 5 septembre 2017 at 18 h 48 min

Avec plaisirs ! Content de voir que nos tutoriels servent

Reply
Keiro 13 septembre 2017 at 22 h 38 min

Sous Vim pour enregistrer et quitter faire
😡

Reply
Julien Doclot 13 septembre 2017 at 22 h 42 min

Le :wq fonctionne très bien 😉

Reply
Niffo 26 septembre 2017 at 13 h 22 min

De mon côté, pour que ça fonctionne, il a fallu que je rajoute :
chmod 644 authorized_keys

Reply
Superviser Synology HyperBackup Vault – Desaille.fr 27 septembre 2017 at 20 h 44 min

[…] autre article qui détaille précisément la […]

Reply
SABOT 15 novembre 2017 at 14 h 39 min

Bonjour,
Pouvez-vous me confirmer que l’accès SSH avec clé sera configuré uniquement pour l’utilisateur créé ? (PubkeyAuthentication yes)
La connexion restera possible en ssh avec le compte root sans clé ?

Merci pour votre aide

Reply
Edouard Patout 17 novembre 2017 at 17 h 52 min

Hello,
Tel qu’est présenté le tutoriel, la connexion par mot de passe reste possible pour tous les utilisateurs, même celui-ci pour lequel nous avons mis en place l’auth par clé. 🙂

Reply
SABOT 20 novembre 2017 at 9 h 54 min

Merci 🙂

Reply
Backup avec Borg via ssh(fs) sur Synology « m0le'o'blog 1 avril 2018 at 18 h 12 min

[…] sshfs/ssh key sur Synology Borg backup commands + script […]

Reply
Pierre Bruynooghe 21 janvier 2019 at 15 h 03 min

Bonjour. Pour la première fois, grâce à votre tuto pour sa partie chmod & chown, je n’ai plus besoin de taper mon MDP, sauf que ssh me demande désormais ma passphrase, que je dois rentrer du coup. Ce qui n’était pas le cas jusqu’à présent. Je vais tenter de résoudre ce point, car je souhaite configurer une tâche rsync+cron afin d’automatiser la sauvegarde de mon boulot sur le NAS.

Reply
Pierre Bruynooghe 21 janvier 2019 at 15 h 36 min

Problème de passphrase réglé avec un ssh-add en console dans le dossier .ssh de mon mac. Ca fonctionne parfaitement. Merci !

Reply

Leave a Comment

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More