Dans ce tutoriel, nous allons voir comment configurer rsync pour planifier des sauvegardes d’un serveur distant et permettre l’accès SSH vers votre NAS Synology en local.
Armez-vous de votre terminal préféré et lancez une session SSH, c’est parti !
Étape 1 : créer un nouvel utilisateur Synology
Afin de bien séparer les processus et privilèges, il vaut mieux créer un nouvel utilisateur Synology : cela permet de contrôler exactement ce à quoi il a accès.
Dans ce tutoriel, notre utilisateur s’appellera saveme.
Étape 2 : activer l’accès SFTP
Activez l’accès SFTP dans Diskstation > Control Panel > FTP > SFTP > Enable SFTP service. Vérifiez aussi que le port 22 (SSH) est bien ouvert dans votre routeur et firewall; et bien redirigé vers votre NAS.
Ensuite, ouvrez une session SSH sur votre NAS :
ssh admin@IP_NAS
Code language: CSS (css)
Entrez votre mot de passe, vous devriez être loggué. Si ce n’est pas le cas, vérifiez la configuration routeur/firewall du port 22.
Étape 3 : éditer le fichier passwd
Une fois que vous êtes identifié en SSH sur votre NAS, il vous faut éditer le fichier passwd
:
nano /etc/passwd
Allez à la dernière ligne, qui gère le nouvel utilisateur créé à l’étape 1. A la fin de cette ligne, remplacez :
/sbin/nologin
par
/bin/sh
Sauvegardez le fichier.
Maintenant, on assigne un dossier de travail avec tous les droits nécessaires à notre utilisateur (qui s’appelle saveme). Au lieu de le mettre dans /homes, on va plutôt le mettre à la racine, bien au chaud, sous /volume1/backup
.
On donne accès au dossier :
chown saveme:users /volume1/backup
Étape 4 : identification avec notre nouvel utilisateur
On s’identifie avec notre utilisateur saveme :
su - saveme
Si vous obtenez des messages d’erreur comme :
su: can't chdir to home directory '/volume1/backup'
su: can't run /sbin/sh: No such file or directory
Code language: PHP (php)
La première erreur est due à une erreur de permissions. Vérifiez que vous avez bien chowné le bon dossier. La seconde montre que vous avez oublié d’ajouter
/bin/sh
à votre utilisateur dans l’étape 3.
Étape 5 : ajouter la clé SSH du NAS sur le serveur distant
On crée la clé en utilisant le chemin par défaut et on appuie juste sur “entrée” lorsqu’on nous demande un mot de passe de clé :
ssh-keygen -t rsa
On copie la clé sur le serveur distant:
cat ~/.ssh/id_rsa.pub | ssh user@IP_SERVER "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
Code language: JavaScript (javascript)
Essayez maintenant d’ouvrir une session SSH sur votre serveur distant depuis la session SSH du NAS : la session devrait s’ouvrir sans que vous n’ayez à entrer le mot de passe du compte.
Si vous obtenez une erreur de permission, voici les bonnes permissions à appliquer :
- le répertoire
.ssh
doit avoir un chmod 700, - la clé publique (fichier
.pub
) doit avoir un chmod 644, - la clé privée (
id_rsa
) doit avoir un chmod 600.
Voici donc les commandes à lancer pour attribuer les bonnes permissions sur le NAS:
chmod /volume1/backup/.ssh 700
chmod /volume1/backup/.ssh/id_rsa.pub 644
chmod /volume1/backup/.ssh/id_rsa 600