
Vous avez un répertoire sur un autre serveur et vous souhaitez y accéder comme s’il était local ?
Vous voulez éditer des fichiers distants avec votre éditeur préféré, synchroniser des données sans rsync ou simplement naviguer dans une arborescence distante via le terminal ?
Alors sshfs
est probablement la solution la plus simple à mettre en place.
Qu’est-ce que sshfs
?
sshfs
(SSH File System) est un utilitaire qui permet de monter un répertoire distant via SSH, comme un système de fichiers local.
Concrètement, vous accédez aux fichiers d’un autre serveur dans un dossier de votre machine, sans NFS, ni Samba, ni VPN.
Et c’est sécurisé, puisque tout passe par SSH.
Prérequis
- Un système Linux ou macOS (ou Windows via WSL ou WinFsp)
- Un accès SSH au serveur distant
- Le paquet
sshfs
installé localement
1. Installation de sshfs
Sur Debian / Ubuntu :
sudo apt update
sudo apt install sshfs
Sur CentOS / Fedora / Rocky Linux :
sudo dnf install sshfs
Sur macOS (via Homebrew) :
brew install sshfs
⚠️ Sous macOS, l’installation peut nécessiter
macFUSE
, qui demande parfois une autorisation dans les préférences système.
2. Monter un répertoire distant
Syntaxe de base :
sshfs user@host:/chemin/distant /point/de/montage/local
Exemple :
mkdir ~/serveur_backup
sshfs root@192.168.1.10:/var/www/ ~/serveur_backup
Vous pouvez maintenant naviguer dans ~/serveur_backup
comme si les fichiers distants étaient en local.
3. Options utiles
Option | Description |
---|---|
-p PORT |
Spécifie un port SSH autre que 22 |
-o reconnect |
Reconnecte automatiquement en cas de coupure |
-o allow_other |
Autorise d’autres utilisateurs à voir le montage |
-o IdentityFile=... |
Spécifie une clé SSH personnalisée |
-C |
Active la compression (utile sur connexion lente) |
Exemple avec port et clé personnalisée :
sshfs -p 2222 -o IdentityFile=~/.ssh/id_rsa \
user@backup.domaine.tld:/data /mnt/backup
4. Démontage du répertoire
Quand vous avez fini, démontez proprement :
fusermount -u /point/de/montage
Exemple :
fusermount -u ~/serveur_backup
Sur macOS :
umount ~/serveur_backup
5. Montage automatique au démarrage (optionnel)
Si vous souhaitez que le montage soit effectué automatiquement à chaque démarrage, vous pouvez :
a. Ajouter une entrée dans fstab
:
sshfs#user@host:/chemin/distant /mnt/backup fuse defaults,_netdev,allow_other,IdentityFile=/home/user/.ssh/id_rsa 0 0
⚠️ Cela nécessite souvent d’utiliser des clés SSH sans mot de passe ou un agent
ssh-agent
.
b. Ou créer un script de montage simple :
#!/bin/bash
sshfs -o reconnect,IdentityFile=~/.ssh/id_rsa user@host:/data /mnt/backup
À placer dans un cron, un systemd
unit ou à exécuter manuellement au besoin.
6. Avantages de sshfs
- 🔒 Sécurisé (tout passe par SSH)
- ⚡ Rapide à mettre en place
- 🖥️ Transparence totale : utilisable avec tous les outils classiques (cp, rsync, vim, etc.)
- 🧰 Pas besoin de configurer un serveur de fichiers spécifique
7. Limites à connaître
- 📡 La performance dépend beaucoup de la latence réseau.
- 🔗 En cas de coupure SSH, le montage peut devenir instable (pensez à
-o reconnect
). - 🧷 Pas fait pour les bases de données ou les accès concurrents intensifs.
- 🛑 Ne pas l’utiliser pour des applications critiques sans surveillance (ce n’est pas NFS ou Ceph).
En résumé
sshfs
est un outil léger, pratique et sûr pour monter des répertoires distants via SSH, sans se compliquer la vie.
C’est particulièrement utile pour :
- consulter ou modifier rapidement des fichiers sur un VPS ou un dédié,
- copier des sauvegardes à la volée,
- synchroniser un environnement de développement ou d’intégration.
Et si vous couplez ça avec rsync
, vous pouvez presque oublier FTP pour de bon.