NAS Synology : retrouver l'accès SSH et rsync après la mise à jour du DSM photo 2

NAS Synology : retrouver l’accès SSH pour rsync après la mise à jour du DSM

Mon NAS Synology est configuré pour se mettre automatiquement à jour, ce qui est plutôt pratique puisque cela permet d’automatiser les mise à jour de sécurité et des paquets essentiels.

Hier, une nouvelle mise à jour du DSM est arrivée : DSM 6. La mise à jour s’est visiblement bien déroulée mais quelques petites choses ont été modifiées au sein du système, dont la perte d’accès root pour rsync, ce qui est problématique pour mes sauvegardes.

NAS Synology : retrouver l'accès SSH et rsync après la mise à jour du DSM photo 2

Le truc qui change, c’est qu’au lieu d’utiliser root comme utilisateur, il va désormais être obligatoire d’utiliser un utilisateur qui appartient au groupe administrators. Chez moi, il y en a plusieurs mais pour des raisons de simplicité, nous utiliserons l’utilisateur admin dans ce tutoriel.

Voyons donc comment donner l’accès à rsync pour l’utilisateur admin, cela ne prend que quelques minutes.

Ajouter des utilisateurs dans le groupe des administrateurs

Nous commençons par vérifier que nous possédons bien au moins un administrateur sur le NAS. Par défaut, il devrait au minimum y avoir le compte admin mais vous pourriez l’avoir désactivé pour des raisons de sécurité (c’était mon cas avant de faire cette mise à jour).

Rendez-vous dans Synology > Control Panel > Group > Administrators > Edit members:

NAS Synology : retrouver l'accès SSH et rsync après la mise à jour du DSM photo

Ici, nous avons bien l’utilisateur admin. N’hésitez pas à y ajouter vos autres utilisateurs qui possèdent les droits d’administration.

Note: profitez-en pour faire un détour par Control Panel > User et changez le mot de passe de l’utilisateur admin pour un mot de passe plus robuste.

Lire la suite

Freebox : lire une vidéo avec un fichier de sous-titres en DLNA depuis un NAS Synology photo

Synology : lire des vidéos avec des fichiers de sous-titres en DLNA sur la Freebox

Lorsque l’on possède un NAS, on apprécie de pouvoir bénéficier de toutes ses fonctionnalités.

Or, outre les fonctions de sauvegardes, de téléchargement et téléversement des données, il est aussi très agréable de pouvoir lire de la musique ou des vidéos (stockées sur le NAS) directement sur une télévision.

Ce tutoriel s’adresse à celles et ceux qui possèdent une Freebox et un NAS Synology.

Nous allons voir comment configurer le Synology afin que les sous-titres soient détectés et lus par notre Freebox, automatiquement au lancement de notre vidéo.

Synology : installation du Media Server

Sur le Synology, il faut installer le paquet Media Server. Pour cela, il suffit de se rendre dans Main Menu > Package Center >Multimedia > Media Server > Install.

Vous devriez avoir quelque chose comme ceci:

Freebox : lire une vidéo avec un fichier de sous-titres en DLNA depuis un NAS Synology photo

Synology : configuration du DLNA

Ensuite, il faut configurer le DLNA. Rendez-vous dans Main Menu > Media Server > DMA Compatibility où plusieurs réglages sont à effectuer:

Freebox : lire une vidéo avec un fichier de sous-titres en DLNA depuis un NAS Synology photo 1

On commence par cocher l’option “Enable customized MIME types. Voici la liste dont je dispose :

avi=video/x-ms-video,wav=audio/x-wav,m4v=video/mp4,mp4=video/mp4,mkv=video/x-msvideo,srt=plain/text,sub=plain/text

Ensuite, il faut cocher l’option “restrict access to Media Server for newly detected UPnP/DLNA devices”.

Lire la suite

NAS Synology : résoudre l'erreur rsync

NAS Synology : résoudre l’erreur rsync “permission denied” lors de la connexion au NAS après mise à jour du DSM

Mon NAS Synology vient de mettre à jour son firmware DSM et je constate en lançant ma sauvegarde rsync que la connexion rsync vers le NAS ne se fait plus : après saisie du mot de passe, on obtient une erreur “permission denied”.

Voici comment remédier à ce petit désagrément en deux minutes montre en main.

Problème : connexion SSH refusée

Lors de la connexion initiale, démarrée par :

rsync --ignore-existing --progress -vr --rsh='ssh -p22222' /home/backup/* root@example.com:/volume1/videoCode language: PHP (php)

on obtient le message d’erreur suivant, après saisie du mot de passe:

Permission denied, please try again.
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [sender=3.1.1]Code language: CSS (css)

Après vérification que les identifiants (user/password) sont bien corrects, il s’avère que la solution réside dans l’utilisation de l’argument --rsync-path afin d’expliciter le chemin de l’exécutable rsync présent sur le NAS.

Solution : ajouter le chemin du binaire rsync du NAS

La solution est toute simple, il suffit de renseigner le chemin du binaire rsync qui se trouve sur le NAS Synology comme argument de notre connexion.

Sous DSM5, le chemin de rsync est /usr/syno/bin/rsync.

A partir de DSM6, le chemin de rsync est /usr/bin/rsync, qui est le chemin habituel sous linux.

Nous ajoutons donc l’argument --rsync-path à notre connexion initiale, ce qui nous donne :

rsync --ignore-existing --progress -vr --rsh='ssh -p22222' --rsync-path=/usr/bin/rsync /home/backup/* root@example.com:/volume1/videoCode language: JavaScript (javascript)
Note: n’oubliez pas de changer le chemin suivant que vous utilisez DSM5 ou DSM6.

Et hop, la sauvegarde rsync est de nouveau fonctionnelle.

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

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

Lire la suite

Installer IPKG sur un NAS Synology photo

NAS Synology : installer IPKG pour ajouter des applications supplémentaires

De temps en temps, on a besoin d’intervenir sur le NAS et l’interface web d’administration du Synology n’est ni la plus intuitive, ni la plus rapide. En tout cas, sur un D212+, cela rame toujours un peu.

Aujourd’hui, je vous montre comment ouvrir une session SSH en tant que root sur votre Synology afin d’y installer des applications non officielles mais toutes aussi valables comme nano ou screen. Ce tuto prend à peine 10 minutes à réaliser.

Cela nous permettra à terme de pouvoir lancer différentes commandes et d’exploiter à fond les possibilités du NAS.

Activer SSH sur le Synology

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

  1. connectez-vous au webadmin de votre Synology,
  2. rendez-vous dans Control Panel > Applications > Terminal & SNMP,
  3. dans l’onglet Terminal, cochez l’option Enable SSH service,
  4. changez le port par défaut pour quelque chose de plus exotique : 44222 par exemple,
  5. 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.

Lire la suite

NAS Synology : récupérer les données d'un disque dur issu d'un RAID1 photo

NAS Synology : récupérer les données d’un disque dur issu d’un RAID1

Je possède un NAS Synology pour archiver mes données.

Pour simplifier, un NAS est un système à part entière qui gère des disques dur de sauvegarde accessibles par le réseau.

Synology en RAID1

Dans mon cas, il s’agit d’un Synology 212+ 2 baies qui accueille deux disques dur de 2 To chacun.

Je les ai mis en RAID1, ce qui signifie que tout ce qui est copié sur le volume est répliqué : les données du disque 1 sont recopiées à la volée sur le disque 2.

raid1

Le RAID1 est donc un système de redondance qui donne au stockage des données une certaine tolérance aux pannes matérielles.

En théorie, si un disque lâche, l’autre aura toutes les données intactes. Enfin, ça c’est la théorie !

Des données qui s’envolent

Au courant de l’année 2013, je sauvegarde quelques séries sur le NAS. Je crée un raccourci dans Nautilus pour pouvoir glisser/déposer facilement les fichiers, ce qui semble un chouilla plus rapide que via l’interface web du Synology.

Note : mes transferts semblent plafonner à 300 ko/s alors que j’utilise du CPL, si quelqu’un connaît un autre moyen d’augmenter ce débit, je suis preneur !

En décembre 2013, je vois les diodes du Syno qui clignotent comme un sapin de Noël : je me loggue et me rends compte qu’un de mes dossiers de sauvegarde est vide.

Incompréhension totale. Je suspecte d’abord une intrusion et vérifie les logs mais je n’ai rien trouvé d’inhabituel. Je penche maintenant pour une erreur de manipulation dans nautilus, même si j’y crois peu. Je débranche le Syno du réseau puis l’éteins.

Récupérer les données d’un disque dur issu d’un RAID1

En décembre 2014, c’est-à-dire la semaine dernière, je me dis que ce serait cool de remettre le Syno en route et de me pencher sur le mystère.

Je retire un disque dur d’une des baies et le branche en USB sur ma machine linux. Voici les étapes qui m’ont permis de lire ce disque.

Lire la suite

Transférer des fichiers d'un serveur à un autre avec rsync photo

Transférer des fichiers d’un serveur à un autre avec rsync sous Linux

Il arrive très souvent que l’on ait besoin de transférer des fichiers rapidement, d’un serveur à un autre par exemple.

Bien sûr, on peut utiliser le FTP mais il y a beaucoup plus rapide et efficace : je vous présente rsync.[no_toc]

Synchronisation distante

rsync logo

rsync (remote synchronization ou “synchronisation distante” en français) est un logiciel libre de synchronisation de fichiers (disponible sous toutes les plateformes).

La synchronisation est unidirectionnelle, c’est-à-dire qu’elle copie les fichiers de la source en direction de la destination.

rsync est donc utilisé pour réaliser des sauvegardes incrémentales ou pour diffuser le contenu d’un répertoire de référence.

Je vous donne ici les deux commandes que j’utilise quotidiennement lors de ma gestion des serveurs.

Copier tous les fichiers d’un répertoire du serveur A dans le répertoire équivalent du serveur B

Premièrement, connectez-vous via SSH à votre serveur A. Voici la commande :

/* Copie tous les fichiers de /home/website/ vers serveur B. */
rsync --ignore-existing --progress /home/movies/*.* matt@serveurB.net:/home/movies/Code language: PHP (php)

Explications:

  • --ignore-existing signifie que si le fichier existe déjà, on ne le remplace pas.
  • --progress montre la vitesse du transfert et les noms des fichiers transférés.
  • matt@serveurB.net est le nom du login SSH (matt) associé à l’adresse du serveur B (IP ou nom de domaine).
  • /home/website/ : répertoire vers lequel copier les fichiers.

En lançant cette commande, je récupère sur le serveur B tous les fichiers qui se trouvent dans le répertoire /home/movies/ du serveur A. Je ne remplace pas les fichiers existants : étant donné que je ne synchronise qu’avec rsync, ce serait inutile.

Lire la suite