Publié le : 27/07/2020
Comment utiliser SSHFS pour monter des systèmes de fichiers distants sur SSH

Introduction
Dans de nombreux cas, le transfert de fichiers vers et depuis une droplet peut devenir fastidieux. Imaginez un scénario d’utilisation de développement dans lequel vous codez des applications à distance et vous vous retrouvez à télécharger un script à plusieurs reprises sur votre serveur virtuel pour le tester. Cela peut devenir assez compliqué en très peu de temps. Heureusement, il existe un moyen de monter votre système de fichiers VPS sur votre ordinateur local afin que vous puissiez apporter des modifications à la volée et traiter votre droplet comme un stockage local. Dans cet article, nous allons vous montrer comment faire exactement cela.
Installation de SSHFS
Sur Debian/Ubuntu
SSHFS est un logiciel basé sur Linux qui doit être installé sur votre ordinateur local. Sur les systèmes basés sur Ubuntu et Debian, il peut être installé via apt-get
.
sudo apt-get install sshfs
Sur Mac OSX
Vous pouvez installer SSHFS sur Mac OSX. Vous devrez télécharger FUSE et SSHFS à partir du site osxfuse.
Sur Windows
Pour installer SSHFS dans Windows, vous devrez récupérer le dernier package win-sshfs dans le référentiel de code Google. Un lien de téléchargement direct peut être trouvé ci-dessous. Après avoir téléchargé le package, double-cliquez pour lancer le programme d’installation. Vous pouvez être invité à télécharger des fichiers supplémentaires, si c’est le cas, le programme d’installation téléchargera le .NET Framework 4.0 et l’installera pour vous..
https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/win-sshfs/win-sshfs-0.0.1.5-setup.exe
Montage du système de fichiers distant
Les instructions suivantes fonctionneront à la fois pour Ubuntu / Debian et OSX. Les instructions pour les systèmes Windows se trouvent au bas du didacticiel.
Pour commencer, nous devrons créer un répertoire local dans lequel monter le système de fichiers.
sudo mkdir /mnt/data <--remplacer "data" si vous voulez
Nous pouvons maintenant utiliser sshfs pour monter le système de fichiers localement avec la commande suivante. Si votre serveur a été créé avec un mot de passe, la commande suivante fera l’affaire. Il vous sera demandé le mot de passe root de votre serveur virtuel au cours de cette étape.
sudo sshfs -o allow_other,default_permissions user@xxx.xxx.xxx.xxx:/ /mnt/data
Si votre serveur est configuré pour la connexion via l’autorisation de clé ssh, vous devrez dire à sshfs d’utiliser vos clés publiques avec la commande suivante. Il vous sera demandé de saisir la phrase secrète que vous avez utilisée lors de la création de vos clés avec ssh-keygen.
sudo sshfs -o allow_other,default_permissions,IdentityFile=~/.ssh/id_rsa user@xxx.xxx.xxx.xxx:/ /mnt/data
Vous pouvez maintenant travailler avec des fichiers sur votre serveur comme s’il s’agissait d’un périphérique physique connecté à votre ordinateur local. Par exemple, si vous vous déplacez vers le répertoire /mnt/data
sur votre machine locale, vous pouvez créer un fichier localement et le fichier apparaîtra sur votre serveur virtuel. De même, vous pouvez copier des fichiers dans le dossier /mnt /droplet
et ils seront téléchargés sur votre serveur en arrière-plan.
Il est important de noter que ce processus ne fournit qu’un point de montage temporaire à votre serveur. Si le serveur virtuel ou la machine locale est mis hors tension ou redémarré, vous devrez utiliser le même processus pour le remonter.
Démontage du système de fichiers distant
Lorsque vous n’avez plus besoin du point de montage, vous pouvez simplement le démonter avec la commande
sudo umount /mnt/droplet
Montage permanent du système de fichiers distant
SSHFS permet également de configurer des points de montage permanents sur des systèmes de fichiers distants. Cela définirait un point de montage qui persisterait lors des redémarrages de votre machine locale et des serveurs. Afin de configurer un point de montage permanent, nous devrons éditer le fichier /etc/fstab
sur la machine locale pour monter automatiquement le système de fichiers à chaque démarrage du système.
Nous devons d’abord éditer le fichier /etc/fstab
avec un éditeur de texte.
sudo nano /etc/fstab
Faites défiler vers le bas du fichier et saisissez la ligne suivante :
sshfs#user@xxx.xxx.xxx.xxx:/ /mnt/data
Enregistrer les modifications faites au fichier /etc/fstab
et redémarrer si nécessaire.
Il convient de noter que le montage permanent de votre système de fichiers localement est un risque de sécurité potentiel. Si votre machine locale est compromise, cela permet un itinéraire direct vers votre serveur. Par conséquent, il n’est pas recommandé de configurer des montages permanents sur les serveurs de production.
Utilisation de Win-SSHFS pour monter des systèmes de fichiers distants sous Windows
After launching the win-sshfs program, you will be presented with a gAprès avoir lancé le programme win-sshfs, une interface graphique vous sera présentée pour simplifier le processus de montage d’un partage de fichiers distant.
- Étape 1: Cliquez sur le bouton Ajouter dans le coin inférieur gauche de la fenêtre.
- Étape 2: saisissez un nom pour le partage de fichiers dans le champ Nom du lecteur.
- Étape 3. Saisissez l’adresse IP de votre droplet dans le champ Hôte.
- Étape 4. Entrez votre port SSH. (Laissez le port 22 sauf si vous avez changé le port SSH manuellement).
- Étape 5. Entrez votre nom d’utilisateur dans le champ Nom d’utilisateur. (Sauf si vous avez configuré manuellement les comptes d’utilisateurs, vous entrerez root dans ce champ).
- Étape 6. Entrez votre mot de passe SSH dans le champ de mot de passe. (Remarque sur Windows, vous devrez configurer votre serveur pour les connexions par mot de passe plutôt que l’authentification par clé ssh).
- Étape 7. Entrez le point de montage souhaité dans le champ Répertoire. (Entrez / pour monter le système de fichiers à partir de la racine. De même, vous pouvez entrer
/var/www
ou~/
pour votre répertoire personnel). - Étape 8. Sélectionnez la lettre de lecteur que vous souhaitez que Windows utilise pour votre système de fichiers.
- Étape 9. Cliquez sur le bouton Monter pour vous connecter au serveur et monter le système de fichiers.
Le système de fichiers de votre serveur virtuel sera désormais disponible via votre Poste de travail en tant que lettre de lecteur que vous avez choisie à l’étape 8.
Utilisation du point de montage distant
Le montage distant se comporte de la même manière que le stockage monté localement: vous pouvez créer, copier, déplacer, éditer, compresser ou effectuer toutes les opérations du système de fichiers que vous seriez en mesure d’effectuer sur le serveur, mais vous ne pouvez pas lancer de programmes ou de scripts sur le serveur distant.
Une utilisation typique de ceci serait si vous hébergez un site Web sur votre VPS et devez apporter des modifications au site Web régulièrement. Monter le système de fichiers localement vous permet de lancer n’importe quel éditeur de code, IDE ou éditeur de texte que vous souhaitez éditer sur le site, et toutes les modifications que vous apportez seront reflétées sur le serveur virtuel dès qu’elles sont effectuées sur votre machine locale.
De même, sur les serveurs utilisées à des fins de test de projets de codage, cela permet des modifications de code beaucoup plus simples qui peuvent être testées immédiatement sans avoir besoin de modifier le code localement ainsi qu’à distance (et élimine les tracas de télécharger de nouvelles copies de fichiers pour le petit code changements).