Tutoriel : SFTP sur DSM

Tutoriel : SFTP sur DSM

SFTP : Accédez au coeur de votre NAS Synology.

Voici trois méthodes pour l'installation d'un serveur SFTP sur votre NAS.

La 3ème méthode prévoit une procédure straight-forward en changeant juste la config sshd. Nécessite un firmware DSM en version 3.1 ou plus, ce qui est fortement recommandé.

Sinon avec les versions DS plus anciennes, la 1ère méthode est recommandée pour quasiment tous les utilisateurs et une 2ème méthode plus compliquée existe aussi. Ces deux méthodes nécessitent l'installation et l'utilisation de IPKG.

Recommandation: Vérifiez d'abord la méthode 3 et envisagez la mise à jour du firmware de votre DiskStation à la dernière version.

Sommaire

1. Qu'est-ce qu'un serveur SFTP

Secure FTP (SFTP) est l'un des moyens les plus sûrs pour accéder à distance aux fichiers (par exemple sur votre NAS) à travers un réseau non sécurisé (par exemple le Web). SFTP utilise le modèle client-serveur, par conséquent, un client SFTP (généralement votre PC) fait une demande de connexion à un serveur SFTP (généralement votre NAS). Le logiciel serveur SFTP doit être installé sur votre NAS pour permettre au NAS d'écouter et répondre aux demandes client SFTP.

2. Points à considérer

SFTP fournit à l'utilisateur la même fonctionnalité que FTP, mais la communication entre le client et le serveur est passé à travers une connexion sécurisée (SSH) du tunnel.

  1. Par rapport à FTP, SFTP place les grandes charges de traitement sur le client et le CPU du serveur pour le chiffrement et le déchiffrement des données. La plupart des PC modernes vont facilement faire face à cela, cependant un traitement accru aura un effet sur le débit de données du NAS, ralentissant la communication par rapport à FTP.
  2. Après l'installation du serveur SFTP sur votre NAS, pour pouvoir utiliser la communication SFTP vous aurez également besoin d'avoir un client SFTP sur votre PC. Le client FTP (File Explorer) fourni avec Microsoft Windows (y compris Windows 7) ne prend pas en charge SFTP. Par conséquent, vous aurez besoin d'installer un client SFTP tierce. Un client populaire, gratuit et open source est par exemple FileZilla.
  3. Après avoir suivi ce tutoriel, vous pourrez accéder à votre NAS comme vous le faites actuellement (y compris via FTP normal et les comptes d'utilisateurs que vous avez créés pour le FTP). Cependant lors de l'accès par SFTP vous ne serez en mesure de signer qu'en tant qu'utilisateur "root" (le mot de passe est le même que pour l'utilisateur admin). L'utilisateur root (administrateur) a les plus hauts privilèges sur le NAS et les transferts de fichiers vers le NAS seront enregistrés en tant que propriétaire et groupe "root" avec les permissions d'accès -rw-r--r-. Par conséquent, en fonction de vos besoins, vous devrez peut-être modifier les autorisations d'accès des fichiers afin que d'autres utilisateurs (par exemple ceux qui n'ont accès que via FTP ou SAMBA) puissent gérer les fichiers que vous avez placé sur le NAS via SFTP. FileZilla et pratiquement tous les autres clients SFTP permettent de facilement changer ces permissions d'accès aux fichiers. Toutefois, notez que pour les deux FTP et SFTP vous ne pouvez pas changer le propriétaire/groupe d'un fichier, si vous souhaitez le faire vous devrez utiliser un environnement de ligne de commande tels que SSH via Putty. FileZilla affiche par défaut les autorisations d'accès et les privilèges propriétaire/groupe de tous les fichiers et répertoires, facilitant la vision des privilèges.
  4. Après vous être connectés au NAS via SFTP en tant que root, vous serez également en mesure de supprimer/modifier n'importe quel fichier sur le NAS, y compris les fichiers système, pour cette raison ces modifications ne doivent être destinées qu'à une utilisation par le propriétaire/administrateur du NAS.
  5. FTP utilise le port 21, SFTP (SSH) utilise le port 22, pour être en mesure d'accéder à votre NAS à distance à travers Internet (via SFTP), vous devrez configurer votre routeur pour rediriger le port 22 vers votre NAS.

3. Méthode 1

Installez IPKG en suivant ce tutoriel.
Redémarrez le NAS.
Saisissez en ligne de commande SSH :

Code:
ipkg update
ipkg install openssh-sftp-server

Editez /etc/ssh/sshd_config avec vi /etc/ssh/sshd_config de cette manière :

Code:
# override default of no subsystems
#Subsystem sftp /usr/libexec/sftp-server
Subsystem sftp /volume1/@optware/libexec/sftp-server

Utilisez PageBas pour défiler dans le fichier vers le bas jusqu'à ce que vous voyez le "#override default of no subsystems" et appuyez sur Insérer de votre clavier pour entrer en mode édition.
Après avoir modifié les paramètres, appuyez sur Echap, puis ":wq" pour sauvegarder et quitter le mode de d'édition de fichier.
Redémarrez le NAS.
Fini! En utilisant le logiciel client SFTP sur votre PC vous allez maintenant pouvoir vous connecter à votre NAS par SFTP.

4. Méthode 2

Cette méthode n'est pas recommandée pour la plupart des utilisateurs. Utilisez cette méthode uniquement si vous avez une raison particulière d'avoir besoin de le faire.

Tiré du forum officiel, cette méthode décrit comment ajouter l'option sftp-server pour un DS existant avec seulement le paquet SSH Synology d'installé. Cela n'installe pas le paquet openssh disponible dans le repository IPKG. Vous avez tout d'abord besoin d'obtenir IPKG, lisez scrupuleusement les directives et procédez comme ci-dessous.

4.1. Obtenir sftp-server

Code:
mkdir /tmp/sftp_patch
cd /tmp/sftp_patch
ipkg download openssh-sftp-server
tar -xvzf openssh-sftp-server_*.ipk
tar -xvzf data.tar.gz
mv ./opt/libexec /usr

4.2. Obtenir zlib

Code:
mkdir /tmp/zlib_patch
cd /tmp/zlib_patch
ipkg download zlib
tar -xvzf zlib_*.ipk
tar -xvzf data.tar.gz
mv ./opt/lib/libz.so.1.2.5 /lib
cd /lib/
ln -s libz.so.1.2.5 libz.so
ln -s libz.so.1.2.5 libz.so.1

4.3. Nettoyage des fichiers temporaires

Code:
rm -rf /tmp/sftp_patch /tmp/zlib_patch

Après avoir exécuté ce qui précède, vous serez en mesure de vous connecter en SFTP sur votre NAS.

4.4. Fix des libs manquantes

Si SFTP ne fonctionne pas essayez de démarrer le module SFTP en ligne de commande comme ceci:

Code:
/usr/libexec/sftp-server

Regardez si cela vous retourne des erreurs, sur un DS207+ éxecutant le firmware DSM 2.2-0942 cela retourne une erreur libcrypto.so pas trouvé, comme ceci:

Code:
/usr/libexec/sftp-server: error while loading shared libraries: libcrypto.so.0.9.7: cannot open shared object file: No such file or directory

Corrigez cette erreur en ajoutant un lien symbolique:

Code:
cd /lib/
ln -s libcrypto.so.0.9.8 libcrypto.so.0.9.7

4.5. Vérification de sshd_config

Pour que le serveur SFTP démarre automatiquement avec les daemons boot/ssh, cela doit faire partie de /etc/ssh/sshd_config:

Code:
# override default of no subsystems
Subsystem sftp /usr/libexec/sftp-server

Cette méthode 2 a été testée et approuvée sur les modèles DS106e, DS207+, DS210+, DS408, DS409+ and DS1010+/DX5 combo

5. Méthode 3

Avec les dernières versions de DS 3.1 vous pouvez activer le serveur SFTP inclu en modifiant la section sftp dans le fichier de configuration /etc/ssh/sshd_config comme présenté ci-dessous. Après le changement de configuration, vous devrez désactiver et réactiver le deamon SSH ou redémarrer votre NAS, de sorte que le changement de configuration soit chargé par SSHD!

Code:
# override default of no subsystems
#Subsystem sftp /usr/libexec/sftp-server
Subsystem sftp internal-sftp

Après cela, vous pourrez vous connecter avec le protocole SFTP, aucun autre changement n'est requis.

Cette 3ème méthode a été testée et pleinement fonctionnelle sur DSM version 4.0-2228.

Source (en Anglais) : Wiki Synology

Ajouter un commentaire