Se connecter depuis un serveur vers un NAS Synology avec des clés SSH, sans mot de passe

La sauvegarde des données

Un des problèmes majeurs dans la gestion des données informatiques est la sauvegarde des données.

Idéalement, il faut pouvoir être en mesure de disposer de plusieurs copies de sauvegarde de nos données, intégres et utilisables, disponibles dans plusieurs lieux géographiquement éloignés afin de prévenir les risques.

Il est très utile d’avoir un script de sauvegarde comme backup-manager sur le serveur qui va automatiquement envoyer les fichiers de sauvegarde sur un espace de stockage distant.

Sur ce serveur par exemple, les sauvegardes sont envoyées sur le FTP de backup mis à disposition par OVH.

Connexion à un serveur distant en SSH, sans mot de passe

Se connecter depuis un serveur vers un NAS Synology avec des clés SSH, sans mot de passe photo 1

Mais il est également possible d’en envoyer une copie chez vous, directement sur votre NAS. Pour plus de sécurité (le FTP n’est pas un protocole sécurisé) il peut être très intéressant de créer un set de clés SSH pour que le script de sauvegarde (ou alors rsync) se connecte directement à votre NAS/serveur de sauvegarde en SSH.

Voyons donc comment nous pouvons créer un jeu de clés SSH sur notre serveur linux – ou n’importe quelle autre machine Unix, comme votre PC – vers un NAS Synology.

Cela nous permettra de nous identifier sur le NAS depuis le serveur, sans avoir à rentrer de mot de passe ou à le mettre en clair dans un script. C’est aussi un grain de temps de se logguer en SSH au NAS sans mot de passe !

Se connecter depuis un serveur vers un NAS Synology avec des clés SSH, sans mot de passe photo

Activer SSH sur le Synology

Première étape : on active le service SSH sur le Synology :

– connectez-vous au webadmin de votre Synology,

– rendez-vous dans Control Panel > Applications > Terminal & SNMP,

– dans l’onglet Terminal, cochez l’option Enable SSH service,

– changez le port par défaut pour quelque chose de plus exotique : 44222 par exemple,

– sauvegardez les options.

Retenez bien le numéro du port que vous avez défini. Il sera maintes fois utilisé par la suite.

Ouvrir une session SSH sur le NAS avec l’utilisateur root

Cette étape est cruciale et permet d’éviter de longues heures de recherche sur Internet pour comprendre pourquoi les commandes des étapes suivantes ne fonctionnent pas…

Vous devez *absolument* ouvrir une session SSH sur le NAS en tant qu’utilisateur root.

Le mot de passe de l’utilisateur root est le même que celui de l’utilisateur admin mais une session en tant qu’admin ne vous donnera pas les droits nécessaires pour installer quoi que ce soit.

root vous devez donc être, sur notre port SSH:

ssh root@diskstation -p44222

Résultat:

BusyBox v1.16.1 (2015-10-28 13:19:22 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

DiskStation>

Créer une clé SSH pour se connecter sans mot de passe au NAS depuis un PC de bureau

Pour éviter d’avoir à rentrer un mot de passe à chaque fois que je veux me connecter en root sur le NAS, il est très utile de générer une clé SSH sur le PC de bureau et copier cette clé sur le NAS.

Sur le PC de bureau, on lance :

ssh-keygen -t dsa

Résultat:

Generating public/private dsa key pair.
Enter file in which to save the key (/home/matt/.ssh/id_dsa): /home/matt/.ssh/id_dsa_4nas     
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/matt/.ssh/id_dsa_4nas.
Your public key has been saved in /home/matt/.ssh/id_dsa_4nas.pub.

Il ne vous reste plus qu’à copier cette clé sur le NAS:

ssh-copy-id -i /home/matt/.ssh/id_dsa_4nas.pub root@IPdiskstation -p44222

Ajuster les paramètres du serveur SSH du NAS

Afin d’autoriser l’identification SSH par clé, il nous faut éditer la configuration SSH du NAS:

nano /etc/ssh/sshd_config

Activez les directives suivantes:

Protocol 2
LoginGraceTime 2m
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

Sauvegardez puis attribuez les bons droits aux répertoires/fichiers:

DiskStation> chmod 700 .ssh
DiskStation> chmod 644 .ssh/authorized_keys

Rechargez le service SSH:

synoservicectl --reload sshd

Activer l’accès SSH pour un utilisateur Synology

Cette étape est optionnelle mais permet à un de vos utilisateurs du NAS de pouvoir ouvrir une session SSH. Utile pour ne pas s’identifier toujours en tant que root.

On édite le fichier passwd:

nano /etc/passwd

et on modifie au bout de la ligne de l’utilisateur en question:

/sbin/nologin

en:

/bin/ash

Sauvegardez. Vous venez d’activer l’accès SSH à votre utilisateur !

Connexion sans mot de passe, avec la clé SSH

Une fois la clé ajoutée, vous pouvez lancer une session SSH sans mot de passe, juste avec:

ssh root@IPdiskstation -p44222

Et voilà, plus besoin d’entrer de mot de passe lors d’une session SSH, vous êtes directement identifié sur le Synology grâce à la clé SSH de votre machine.

Recherchez-vous un expert WordPress ou WooCommerce sur qui vous pouvez compter? Ne cherchez plus.

Faites confiance à mon expertise »

Articles conseillés :

2 pensées sur “Se connecter depuis un serveur vers un NAS Synology avec des clés SSH, sans mot de passe”

Opinions