Comment monter des systèmes de fichiers distants avec SSHFS étape par étape

Dernière mise à jour: 17/12/2025
Auteur: Isaac
  • SSHFS permet de monter des répertoires distants via SSH/SFTP en utilisant FUSE, sans avoir besoin de configurer des services supplémentaires tels que NFS ou Samba.
  • L'installation et l'utilisation de SSHFS sont simples sous GNU/Linux, macOS et Fenêtresà condition qu'un serveur existe SSH accessible et FUSE ou équivalent sur le client.
  • L'authentification par clé SSH et l'intégration avec /etc/fstab facilitent les montages automatiques et sans mot de passe, avec des options avancées telles que idmap, allow_other et reconnect.
  • SSHFS offre un accès chiffré et flexible aux systèmes distants, bien qu'avec des performances inférieures à celles de NFS sur les réseaux locaux et qu'il faille tenir compte des précautions de sécurité.

Montage de systèmes de fichiers avec SSHFS

Travailler avec des fichiers hébergés sur un serveur distant comme s'ils se trouvaient sur son propre ordinateur est un de ces petits luxes dont on ne peut plus se passer une fois qu'on y a goûté. Que ce soit pour le développement, l'administration système ou simplement pour disposer de son propre « cloud personnel », la mise en place d'un système de fichiers distant peut vous épargner bien des tracas.

SSHFS est l'outil idéal pour cela, de manière simple et sécurisée : grâce à SSH et SFTP, vous pouvez monter des répertoires distants sur votre machine locale et les utiliser comme des disques classiques, sans avoir à démarrer de services supplémentaires tels que NFS ou Samba. Ce guide présente en détail SSHFS : son fonctionnement, son installation et sa configuration sous GNU/Linux, macOS et Windows, ainsi que les options d'automatisation et de personnalisation de son comportement.

Qu'est-ce que SSHFS et pourquoi pourrait-il vous intéresser ?

SSHFS (Secure Shell FileSystem) est un système de fichiers basé sur FUSE qui permet de monter des répertoires distants via SFTP , le sous-système de transfert de fichiers de SSH. Autrement dit, toutes les communications entre votre ordinateur et le serveur sont chiffrées, authentifiées et encapsulées dans une connexion SSH standard.

Contrairement à d'autres systèmes de fichiers réseau tels que NFS ou SAMBA/CIFS, SSHFS ne nécessite aucune configuration supplémentaire sur le serveur : un démon SSH actif et accessible suffit. Le client SSHFS, via FUSE, se charge de présenter cette ressource distante comme un point de montage supplémentaire sur votre système.

L'utilisation de SSH et SFTP implique le chiffrement et le déchiffrement en temps réel de toutes les données , côté serveur comme côté client. Ceci présente des avantages et des inconvénients : d'une part, la confidentialité et l'intégrité des données sont garanties ; d'autre part, les performances sont légèrement inférieures à celles de solutions comme NFS sur les réseaux locaux sécurisés.

FUSE (Filesystem in Userspace) est le composant du noyau qui permet aux utilisateurs non privilégiés de créer des systèmes de fichiers « dans l'espace utilisateur » sans modifier le noyau ni charger de modules complexes. SSHFS s'appuie sur FUSE pour se connecter au système de fichiers distant et l'exposer dans l'arborescence de répertoires locale.

Système de fichiers distant SSHFS

Utilisations courantes de SSHFS : au-delà de la simple « copie de quatre fichiers »

La mise en place d'un système de fichiers distant avec SSHFS offre d'innombrables applications pratiques , dont beaucoup visent à rendre vos données « habituelles » disponibles où que vous soyez, avec une expérience très similaire au travail en local.

L'une des utilisations les plus courantes consiste à configurer un cloud personnel : un serveur à domicile ou sur un VPS distant où vous stockez vos documents, photos ou projets, et auquel vous accédez depuis votre ordinateur portable ou de bureau comme s'il s'agissait d'un autre disque système, sans avoir à passer par des services tiers.

Dans les réseaux locaux, SSHFS est très utile pour partager des données entre ordinateurs Linux : par exemple, accéder à des dossiers sur un autre ordinateur du réseau, partager l’arborescence de répertoires d’une machine puissante avec des machines plus légères, ou connecter des machines virtuelles à l’hôte sans problème.

Pour les développeurs, c'est un outil très pratique pour éditer du code directement sur des serveurs distants (par exemple, des serveurs web ou des machines de test) à l'aide de l'éditeur local de confiance, sans avoir besoin de synchroniser manuellement avec rsync, scp ou un outil similaire.

Il fonctionne également très bien comme mécanisme de sauvegarde simple : vous pouvez monter le chemin distant et utiliser vos outils de sauvegarde habituels sur ce point de montage, ou inversement, monter une destination distante pour y transférer vos sauvegardes depuis la machine locale.

Prérequis : ce dont vous avez besoin côté client et côté serveur

Exigences pour l'utilisation de SSHFS

La base de toute configuration SSHFS repose sur un serveur SSH accessible et un client compatible FUSE . Le reste dépend ensuite des détails de configuration et de la facilité d'utilisation.

Côté serveur, il est indispensable que le service OpenSSH soit installé et en cours d'exécution . Dans la plupart des distributions GNU/Linux modernes, il suffit de s'assurer que le paquet openssh-server est installé et que le service est activé.

Installer le serveur SSH : sudo apt-get install openssh-server openssh-client

Utilisez yum sur RHEL/CentOS : sudo yum install openssh-server openssh-clients

Côté client, outre OpenSSH, vous aurez besoin du paquet sshfs et de FUSE . Sous Debian/Ubuntu, par exemple, la commande serait :

  Comment réparer l’erreur de violation du chien de garde DPC dans Windows 10

Forfaits clients : sudo apt-get install sshfs fuse

Sur les systèmes Red Hat/CentOS, il peut être nécessaire d'activer EPEL au préalable , car sshfs n'est pas toujours présent dans les dépôts de base. Une fois activé :

Installer sshfs : sudo yum install sshfs
ou dans les versions modernes :
Installer avec dnf : sudo dnf install sshfs

Vérifiez et activez le module FUSE sous GNU/Linux.

Avant de commencer toute configuration, il est conseillé de vérifier que le module FUSE est disponible et actif dans le noyau de votre machine cliente, car SSHFS en dépend directement.

Vérifier le module FUSE : lsmod | grep fuse

Si vous voyez une ligne similaire à « fuse 86016 3 », cela signifie que le module est chargé et que vous pouvez continuer. Si rien ne s'affiche, deux possibilités existent : soit le module n'a pas encore été chargé, soit FUSE est compilé directement dans le noyau (intégré).

Vérifiez s'il est intégré au noyau : grep -i fuse /lib/modules/$(uname -r)/modules.builtin

Si la commande renvoie un résultat du type « kernel/fs/fuse/fuse.ko », vous pouvez être certain que FUSE est disponible même s'il n'apparaît pas dans la liste des modules (lsmod). Si vous n'obtenez toujours aucun résultat, vous devrez le charger explicitement.

Module de chargement : sudo modprobe fuse

Autorisations des utilisateurs et des groupes FUSE

Étant donné que SSHFS s'exécute dans l'espace utilisateur, il est courant que votre utilisateur doive appartenir au groupe fuse pour éviter les problèmes d'autorisation lors du montage des systèmes de fichiers.

Dans les distributions Debian/Ubuntu, vous pouvez utiliser le paquet « members » pour vérifier quels utilisateurs appartiennent à un groupe . Commencez par l’installer :

Installer les membres : sudo apt-get install members

Ensuite, vous vérifiez les membres du groupe fuse avec :

Liste des membres du groupe : members fuse

Si votre nom d'utilisateur n'est pas répertorié, vous devrez l'ajouter . Par exemple, si votre nom est Joan :

Ajouter l'utilisateur au groupe : sudo gpasswd -a joan fuse

Il est ensuite recommandé de se déconnecter puis de se reconnecter pour que les modifications apportées au groupe soient prises en compte . Une fois que vous avez vérifié que tout est correct, vous pouvez désinstaller le module « membres » si vous le souhaitez , car vous ne l'avez utilisé qu'à titre d'outil de test temporaire.

Installer SSHFS sur différentes plateformes

SSHFS est disponible non seulement sur GNU/Linux, mais aussi sur macOS et Windows grâce à des ports et des adaptations , ce qui vous permet de l'utiliser dans pratiquement n'importe quel environnement de travail mixte.

Sous Debian, Ubuntu et Linux Mint, le processus d'installation se réduit à :

Mise à jour et installation (apt) : sudo apt update
sudo apt install sshfs

Sous RHEL, CentOS et leurs dérivés , une fois les dépôts nécessaires activés, vous pouvez exécuter :

Mettre à jour et installer (yum) : sudo yum update
sudo yum install sshfs

Sous macOS, la méthode la plus simple consiste à utiliser Homebrew et FUSE pour macOS . Voici les étapes habituelles :

Installez Homebrew (si vous ne l'avez pas déjà fait) :
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Installer FUSE pour macOS :
brew cask install osxfuse

Installer sshfs sur macOS :
brew install sshfs

Windows ne dispose pas de SSHFS natif dans le système, mais vous pouvez utiliser des implémentations comme win-sshfs ou SSHFS-Win , qui s'appuient sur des composants de type WinFsp pour exposer les systèmes de fichiers FUSE comme des lecteurs de disque Windows.

Montage d'un système de fichiers distant avec SSHFS (utilisation de base)

La syntaxe générale de la commande sshfs sous GNU/Linux et macOS est simple et assez intuitive . Le schéma habituel est le suivant :

Syntaxe de commande : sshfs [usuario@]host:[directorio-remoto] punto-de-montaje [opciones]

Vous devez d'abord créer sur la machine cliente le répertoire dans lequel vous monterez le système de fichiers distant . Par exemple, si vous souhaitez monter le dossier distant dans ~/desktop :

Créer un point de montage : mkdir -p /home/joan/desktop

Un exemple complet d'assemblage manuel pourrait être :

Exemple d'assemblage : sshfs [email protected]:/home/joan /home/joan/desktop

Dans cette commande, « [email protected] » identifie l'utilisateur et l'adresse IP du serveur , :/home/joan est le chemin distant que vous souhaitez partager, et /home/joan/desktop est le point de montage local où le contenu apparaîtra.

Si le service SSH écoute sur un port autre que le port 22, vous devez le spécifier avec l'option -p . Par exemple, si le serveur utilise le port 24 :

Port personnalisé : sshfs -p 24 [email protected]:/home/joan /home/joan/desktop

Après avoir exécuté la commande, vous serez généralement invité à saisir le mot de passe de l'utilisateur distant , sauf si l'authentification par mot de passe est déjà configurée. Si tout se déroule correctement, un nouveau volume associé au point de montage apparaîtra dans votre gestionnaire de fichiers, et vous pourrez parcourir et modifier les fichiers comme s'ils étaient locaux.

Options de montage utiles avec SSHFS

SSHFS propose plusieurs options permettant d'affiner le comportement, les permissions et les performances . Voici quelques-unes des plus pratiques au quotidien.

  mrt.exe dans Windows 10 | Qu'est-ce que c'est et solutions aux problèmes

Pour contrôler le mappage des identifiants d'utilisateurs et de groupes côté local, vous pouvez utiliser des options telles que :

Forcer l'UID/GID : -o uid=$(id -u),gid=$(id -g)

Cela force l'affichage des fichiers distants comme appartenant à votre utilisateur local , évitant ainsi les conflits d'autorisations lorsque les identifiants ne correspondent pas entre le client et le serveur. Vous pouvez combiner cette méthode avec des options telles que `idmap=user` lors de l'utilisation de `/etc/fstab`.

Pour améliorer la résilience face aux coupures de connexion, les méthodes suivantes sont couramment utilisées :

Reconnexion automatique : -o reconnect,ServerAliveInterval=15,ServerAliveCountMax=3

Parmi les autres options courantes, citons auto_cache pour une meilleure gestion de la mise en cache des attributs, allow_other pour permettre aux utilisateurs autres que root d'accéder au point de montage, et default_permissions pour déléguer le contrôle des permissions au noyau local.

Démontage d'un système de fichiers SSHFS

Lorsque vous n'avez plus besoin de la configuration, il est important de la démonter correctement , surtout si vous avez écrit des données, afin de vous assurer que tout a été envoyé au serveur et qu'il n'y a pas d'opérations en attente.

Utilisez fusermount pour démonter : fusermount -u /home/joan/desktop

Ou avec la commande de montage classique :

Démonter avec umount : sudo umount /home/joan/desktop

Dans de nombreux environnements de bureau, vous pouvez également démonter le volume directement depuis l'explorateur de fichiers , en cliquant avec le bouton droit sur le volume monté et en choisissant l'option « Démonter » ou « Éjecter ».

Authentification par clé SSH pour le montage sans mot de passe

Si vous prévoyez d'utiliser SSHFS régulièrement, il est judicieux d'éviter de devoir saisir le mot de passe à chaque montage . La meilleure solution consiste alors à configurer l'authentification par clé SSH.

Côté client, vous générez une paire de clés asymétriques avec ssh-keygen (sans phrase secrète si vous souhaitez que le montage automatique ne demande rien) :

Générer une clé : ssh-keygen -b 4096 -t rsa -C "$(whoami)@$(hostname)-$(date -I)"

-b 4096 indique la taille en bits de la clé, -t rsa définit l'algorithme et le paramètre -C ajoute un commentaire d'identification à la clé (par exemple, utilisateur, machine et date).

Lorsque ssh-keygen vous demande où enregistrer la clé, appuyez simplement sur Entrée pour utiliser le chemin par défaut (~/.ssh/id_rsa) , et vous pouvez laisser la phrase secrète vide si vous souhaitez que le processus de connexion soit entièrement automatique.

La clé publique générée (~/.ssh/id_rsa.pub) doit être copiée sur le serveur et ajoutée au fichier ~/.ssh/authorized_keys de l'utilisateur distant que vous utiliserez avec SSHFS.

Copiez et autorisez la clé publique sur le serveur

Tout d'abord, assurez-vous que le fichier authorized_keys existe dans ~/.ssh sur le serveur . Vous pouvez le créer avec :

Créer les clés autorisées si elles sont manquantes : touch ~/.ssh/authorized_keys

Sur le client, copiez la clé publique sur le serveur à l'aide de scp ou de ssh-copy-id . Par exemple, avec scp :

Copiez la clé publique sur le serveur : scp ~/.ssh/id_rsa.pub [email protected]:~/.ssh

Une fois sur le serveur, ajoutez le contenu du fichier id_rsa.pub au fichier authorized_keys pour autoriser cette clé :

Ajouter la clé à authorized_keys : cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

Après cela, si les propriétés et les permissions de ~/.ssh et authorized_keys sont correctes , vous pourrez vous connecter depuis le client à ce serveur sans saisir de mot de passe et, par extension, le monter automatiquement avec SSHFS en utilisant l' option IdentityFile.

Monter automatiquement les systèmes de fichiers SSHFS avec /etc/fstab

Si vous souhaitez que le système de fichiers distant soit monté automatiquement à chaque démarrage de l'ordinateur , vous pouvez utiliser le fichier /etc/fstab pour définir le montage SSHFS.

Sur la machine cliente, modifiez le fichier /etc/fstab avec les privilèges d'administrateur :

Modifier le fichier fstab : sudo nano /etc/fstab

Voici un exemple de chaîne de montage typique avec SSHFS :

Exemple complet de fstab : [email protected]:/home/joan /home/joan/desktop fuse.sshfs defaults,idmap=user,_netdev,users,IdentityFile=/home/joan/.ssh/id_rsa,allow_other,reconnect 0 0

Sur cette ligne, vous spécifiez la ressource distante, le point de montage local et le type de système de fichiers (fuse.sshfs) , suivis d'un ensemble d'options :

par défaut: applique les options de montage typiques (lecture/écriture, exécution, etc.).
idmap=utilisateur: force le propriétaire apparent des fichiers à être votre utilisateur local.
_netdevCela indique que le système dépend du réseau, ce qui aide systemd à gérer l'ordre des opérations. Botte.
des opportunités : permet à tout utilisateur de monter/démonter la ressource.
Fichier d'identité: chemin de la clé privée pour se connecter sans mot de passe.
autoriser_autre: accorde l'accès à des utilisateurs autres que celui qui le monte (nécessite une configuration FUSE).
reconnecterRéessayez la connexion si elle est interrompue.

Dans les distributions utilisant systemd, il peut être utile d'utiliser l'option noauto combinée avec x-systemd.automount , afin que le montage soit activé dès le premier accès :

Exemple de fichier fstab avec montage automatique : [email protected]:/home/joan /home/joan/desktop fuse.sshfs noauto,x-systemd.automount,_netdev,users,idmap=user,IdentityFile=/home/joan/.ssh/id_rsa,allow_other,reconnect 0 0

N'oubliez pas qu'une erreur de syntaxe ou une option mal placée dans fstab peut empêcher le système de démarrer normalement . Il est donc conseillé de sauvegarder /etc/fstab avant d'effectuer toute modification et de disposer d'une clé USB Live au cas où vous auriez besoin de résoudre le problème hors ligne.

  Alis vs ArchInstall : Différences réelles lors de l’installation d’Arch Linux

Configurez FUSE pour utiliser allow_other

L'option allow_other, très utile pour partager le point de montage avec d'autres utilisateurs, ne fonctionne pas à moins que vous ne l'activiez explicitement dans les paramètres FUSE.

Dans la plupart des distributions, il suffit de modifier le fichier /etc/fuse.conf en tant que superutilisateur (root) :

Modifier fuse.conf : sudo nano /etc/fuse.conf

Dans le fichier, trouvez la ligne contenant « #user_allow_other » et décommentez-la , en la laissant comme ceci :

user_allow_other

Enregistrez les modifications et fermez l'éditeur . Vous pourrez alors utiliser l'option allow_other dans vos montages SSHFS et dans /etc/fstab sans qu'elle soit rejetée par la configuration.

Utilisation de SSHFS sous Windows : win-sshfs et SSHFS-Win Manager

Sous Windows, l'utilisation de SSHFS nécessite des outils tiers qui intègrent FUSE au système de fichiers natif du système d'exploitation . Les deux approches les plus courantes sont win-sshfs et la combinaison SSHFS-Win + WinFsp, souvent gérées par une interface graphique conviviale.

Pendant longtemps, win-sshfs a été l'une des solutions les plus simples : il suffit de télécharger un programme d'installation contenant tout le nécessaire pour monter un répertoire distant via SSH comme s'il s'agissait d'un lecteur Windows. Une fois installé, il faut ouvrir l'application, créer une nouvelle entrée, renseigner l'hôte, le port, le nom d'utilisateur, le mot de passe, le chemin d'accès distant et la lettre du lecteur, puis cliquer sur « Monter ».

Une alternative plus moderne est SSHFS-Win, associé à WinFsp et, pour compléter le tout, à SSHFS-Win Manager, une interface graphique . WinFsp sert de couche permettant à Windows de communiquer avec les systèmes de fichiers FUSE, SSHFS-Win prend en charge SSHFS, et SSHFS-Win Manager offre une interface graphique pour créer et gérer des points de montage sans utiliser la ligne de commande.

Le flux de travail typique avec SSHFS-Win Manager est très similaire à celui qu'un utilisateur graphique effectuerait sous Linux : vous ajoutez une nouvelle connexion, entrez l'adresse IP ou le domaine du serveur, le port SSH (généralement 22), votre nom d'utilisateur et votre mot de passe ou clé, choisissez le chemin distant (/, /var/www, ~/… selon vos besoins) et attribuez une lettre de lecteur pour qu'il apparaisse dans « Ce PC ».

Une fois monté, le répertoire distant apparaît dans l'Explorateur de fichiers Windows comme un lecteur comme un autre , et vous pouvez glisser-déposer des fichiers, les renommer, les modifier et les supprimer presque comme si vous travailliez sur un disque dur local.

Meilleures pratiques, performances et sécurité avec SSHFS

SSHFS est très pratique, mais il est important d'être conscient de ses limitations et de certaines recommandations de sécurité , notamment si vous prévoyez de monter des répertoires contenant des données sensibles ou de travailler via Internet.

En termes de performances, le chiffrement et la latence réseau sont déterminants : sur les réseaux locaux rapides dotés de serveurs relativement puissants, les performances seront satisfaisantes, bien qu’inférieures à celles du NFS dans la plupart des cas. Sur Internet, la latence peut être très perceptible lors d’opérations impliquant de nombreux petits fichiers.

Pour des raisons de sécurité, il est déconseillé de monter des répertoires distants en production via fstab et des montages permanents , car une compromission côté client pourrait ouvrir une porte d'entrée directe vers le serveur. Dans les environnements critiques, il est préférable de restreindre l'accès, d'utiliser des utilisateurs chroot ou de mettre en œuvre des permissions très restrictives.

Il est également important de vérifier les paramètres de votre pare-feu et de votre routeur lorsque vous accédez à votre réseau depuis l'extérieur . Vous devrez rediriger le port SSH vers le serveur de fichiers et vous assurer qu'il n'est accessible que depuis des sources contrôlées, ou au moins utiliser des mesures de sécurité renforcées telles que fail2ban, des mots de passe robustes et la désactivation de la connexion par mot de passe.

Enfin, si vous montez des répertoires de l'utilisateur root ou des chemins très sensibles, prenez des précautions extrêmes : il est d'usage de travailler avec un utilisateur sans privilèges élevés et de déléguer les opérations délicates à sudo sur le serveur lui-même, au lieu d'ouvrir complètement la racine du système distant.

SSHFS s'avère un outil incroyablement polyvalent pour gérer, développer et partager des données sur des serveurs distants , notamment si vous disposez déjà d'un service SSH fonctionnel et souhaitez éviter toute configuration supplémentaire de NFS ou Samba. Utilisé judicieusement, avec des clés bien gérées et les options FUSE et fstab appropriées, il vous permet d'accéder facilement à vos systèmes distants, comme à n'importe quel autre dossier de votre ordinateur, sans compromettre la sécurité ni la stabilité.