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
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 !
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
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
Code language: CSS (css)
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>
Code language: PHP (php)
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.
Code language: PHP (php)
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
Code language: CSS (css)
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.
sauf que ssh-copy-id n’existe pas sur les NAS synology !
Une autre solution ?
synoservicectl n’existe plus sur les DSM récent !