Résolution de l’échec de la connexion SSH automatique avec clé sur un NAS Synology
Dans mon précédent post, nous avons vu comment sauvegarder un serveur Linux sur un NAS Synology grâce à rsync
via une Virtual Machine,l’automatisation de cette sauvegarde via une connexion SSH avec clé a rencontré un obstacle : l’échec de l’authentification par clé SSH, d’où l(utilisation d’une VM. Dans cet article, nous allons détailler la solution à ce problème et vous fournir les étapes nécessaires pour sécuriser et automatiser vos sauvegardes sans utiliser de VM sur le NAS.
1. Introduction : Le problème d’authentification par clé SSH
Lorsque l’on configure une sauvegarde automatisée avec rsync
via SSH, l’utilisation d’une clé SSH permet d’éviter les mots de passe interactifs. Pourtant, sur un NAS Synology, la configuration par défaut empêche cette méthode de fonctionner correctement. Ce guide vous permettra de surmonter cette difficulté en ajustant les paramètres de votre NAS et de votre serveur Linux.
2. Étapes de la résolution
Étape 1 : Activer SSH sur un port personnalisé
- Connectez-vous à l’interface DSM de votre NAS Synology.
- Allez dans Panneau de configuration > Terminal et SNMP.
- Activez SSH et définissez un port autre que le port 22, par exemple 22222, pour une meilleure sécurité.
- Appliquez les changements.
Étape 2 : Échanger les clés SSH
Sur votre serveur Linux :
- Générez une paire de clés SSH (si ce n’est pas encore fait) avec :
ssh-keygen -t rsa -b 4096
2. Copiez la clé publique vers le compte BACKUP
du NAS :
ssh-copy-id -p 22222 BACKUP@nom-de-domaine-du-nas
Remplacez nom-de-domaine-du-nas
par l’adresse de votre NAS.
Étape 3 : Ajuster les permissions du dossier .ssh
- Connectez-vous au NAS via SSH en utilisant le mot de passe du compte
BACKUP
(la clé ne fonctionnera pas encore) :
ssh -p 22222 BACKUP@nom-de-domaine-du-nas
2. Modifiez les permissions du dossier .ssh
avec :
chmod 755 .ssh
Les permissions par défaut (777) bloquent l’authentification par clé SSH.
3. Déconnectez-vous :
exit
Vous pouvez validez en testant la connexion sans mont de passe en refaisant les point 1 et 3
Étape 4 : Désactiver SSH sur le NAS
Pour des raisons de sécurité, retournez dans DSM et désactivez SSH une fois les modifications effectuées.
3. Activer rsync
sur le NAS
Pour permettre les sauvegardes via rsync
, vous devez activer cette fonctionnalité pour le compte BACKUP
:
- Dans DSM, allez dans Panneau de configuration > Services de fichiers.
- Sous l’onglet Rsync, cochez Activer le service rsync.
- Ajoutez le compte
BACKUP
dans la liste des utilisateurs autorisés à utiliserrsync
. - Appliquez les changements.
Pour plus de détails, vous pouvez consulter l’article officiel de Synology.
4. Automatiser les sauvegardes avec rsync
Créez un script sur votre serveur Linux pour lancer la sauvegarde. Par exemple :
#!/bin/bash
# Variables
NAS="nom-de-domaine-du-nas"
USER="BACKUP"
PORT="22222"
SOURCE="/chemin/dossier/a/sauvegarder/"
DEST="/volume1/homes/$USER/sauvegarde/"
# Commande rsync
rsync -avi -e "ssh -p $PORT" $SOURCE $USER@$NAS:$DEST
Pour la dernière ligne, vous pouvez aussi utiliser ce que j’avais mis dans mon précédant post à savoir:
rsync -avi -e "ssh -p1222" --delete-after --exclude-from=$CHEMIN_SCRIPTS/exclus.txt --include="/**" --include="/.*" / $UTILISATEUR@$ADRESS:/volume1/homes/$UTILISATEUR/sauvegarde
En utilisant bien sûr les fichiers associés (configuration et exclusions)
Rendez le script exécutable :
chmod +x sauvegarde.sh
Automatisez-le avec une tâche cron :
crontab -e
Ajoutez une ligne pour exécuter le script chaque nuit, par exemple :
0 2 * * * /chemin/vers/sauvegarde.sh
5. Recommandations pour le pare-feu du NAS
- Accédez à Panneau de configuration > Sécurité > Pare-feu.
- Créez une règle pour autoriser uniquement votre serveur Linux à se connecter via
rsync
(port 873). - Appliquez des règles similaires pour le port SSH personnalisé si vous choisissez de le réactiver temporairement.
Pour exemple, mon pare-feu:
Tout est autorisé pour mon réseau interne & mon serveur linux, tous les ports (sauf rsync et SSH) pour les IP « Françaises » et pour les autres, tout est interdit.
Conclusion
Avec ces étapes, vous avez sécurisé et automatisé vos sauvegardes entre votre serveur Linux et votre NAS Synology. En limitant les accès SSH et en configurant correctement rsync
, vous obtenez une solution robuste pour protéger vos données tout en minimisant les risques de sécurité.
Ne pas mettre l’option « z » dans la commande rsync (compression) car celle-ci entraine parfois une erreur (car la version rsync de DSM 7.2 est différente de celle que vous aurez sur votre serveur.