SSHFS (SSH Filesystem) est un système de fichiers client pour Linux qui permet de monter un répertoire distant sur un serveur local, en utilisant une connexion SSH sécurisée. Il offre une manière simplifiée d’accéder à des fichiers sur un serveur distant sans avoir besoin de configurations réseau complexes.
Table of Contents
Installation et Configuration
Installation
- Sur Ubuntu/Debian :
bash sudo apt-get install sshfs
- Sur Fedora :
bash sudo dnf install fuse-sshfs
- Sur CentOS/RHEL :
bash sudo yum install epel-release
sudo yum install sshfs
Note : sous Windows, vous pouvez utiliser rclone
Configuration de groupe
Il est recommandé d’ajouter votre utilisateur au groupe fuse
pour permettre l’utilisation de SSHFS sans privilèges super-utilisateur.
sudo usermod -aG fuse $USER
Utilisation
- Montage :
Pour monter un répertoire distant, utilisez la commande suivante :
sshfs user@remote:/path/to/remote/directory /path/to/local/mountpoint
- Démontage :
Pour démonter le système de fichiers, utilisez la commande suivante :
fusermount -u /path/to/local/mountpoint
- Options de montage :
Il existe de nombreuses options que vous pouvez spécifier lors du montage d’un système de fichiers SSHFS, par exemple pour définir un délai d’attente de connexion :
sshfs -o reconnect,ServerAliveInterval=15,ServerAliveCountMax=3 user@remote:/path/to/remote/directory /path/to/local/mountpoint
Ajout dans fstab
Configuration avec fstab
Le fichier /etc/fstab
(File Systems TABle) est utilisé pour définir comment les systèmes de fichiers doivent être automatiquement montés sur le système. Vous pouvez ajouter une entrée pour SSHFS dans ce fichier pour monter un système de fichiers distant automatiquement au démarrage.
Voici un exemple d’entrée dans /etc/fstab
pour monter un répertoire distant via SSHFS :
[email protected]:/appli/echange /appli/echange fuse.sshfs IdentityFile=/home/localuser/.ssh/id_rsa,uid=1001,gid=48,user,allow_other,_netdev 0 0
Explication des options :
- [email protected]:/appli/echange
- user est le nom d’utilisateur sur le serveur distant.
echange.in.domain.local
est le nom d’hôte ou l’adresse IP du serveur distant./appli/echange
après la deuxième colonne est le chemin du répertoire distant que vous souhaitez monter.
- /appli/echange :
- C’est le point de montage local où le répertoire distant sera monté.
- fuse.sshfs :
- C’est le type de système de fichiers.
fuse.sshfs
indique que le système de fichiers est géré par FUSE (Filesystem in Userspace) et utilise SSHFS.
- C’est le type de système de fichiers.
- IdentityFile : Spécifie le fichier contenant la clé privée pour l’authentification SSH.
- uid et gid : Spécifient l’identifiant d’utilisateur et l’identifiant de groupe sous lesquels les fichiers distants seront accédés localement.
- user : Permet à un utilisateur non privilégié de monter le système de fichiers.
- allow_other : Permet à tous les utilisateurs du système local d’accéder au système de fichiers monté.
- _netdev : Cette option indique que le système de fichiers dépend d’une connexion réseau, ce qui retarde le montage jusqu’à ce que le réseau soit opérationnel.
- 0 :
- Ce champ est le champ
dump
. Il indique au système s’il doit ou non effectuer une sauvegarde du système de fichiers. La valeur0
signifie qu’aucune sauvegarde ne sera effectuée.
- Ce champ est le champ
- 0 :
- Ce champ est le champ
pass
. Il spécifie l’ordre dans lequel les systèmes de fichiers seront vérifiés au démarrage. La valeur0
signifie que le système de fichiers ne sera pas vérifié.
- Ce champ est le champ
Procédure
- Ouvrez le fichier
/etc/fstab
avec un éditeur de texte en utilisant des privilèges super-utilisateur :sudo nano /etc/fstab
- Ajoutez la ligne mentionnée ci-dessus à la fin du fichier.
- Sauvegardez et fermez le fichier.
- Pour monter le système de fichiers sans redémarrer, utilisez la commande suivante :
sudo mount -a
Avec cette configuration, le répertoire distant sera monté automatiquement à chaque démarrage du système. Assurez-vous que toutes les informations et les chemins sont corrects, et que la clé SSH spécifiée a les autorisations nécessaires pour accéder au serveur distant.
Avantages et Inconvénients
Avantages
- Sécurité : Toutes les communications entre le client et le serveur sont cryptées.
- Simplicité : Facile à installer et à configurer.
- Transparence : Accès transparent aux fichiers distants comme s’ils étaient locaux.
Inconvénients
- Performance : Peut être plus lent que d’autres solutions comme NFS ou Samba.
- Stabilité : Peut être moins stable lors de la manipulation de gros volumes de données ou sur des connexions réseau instables.
Applications
SSHFS est particulièrement utile pour les développeurs ou les administrateurs système qui ont besoin d’accéder à des fichiers sur des serveurs distants de manière sécurisée et simple. Il est également pratique pour des situations où les solutions traditionnelles de partage de fichiers comme Samba ou NFS ne sont pas idéales ou trop complexes à mettre en place.
Conclusion
SSHFS est un outil puissant et simple pour monter des systèmes de fichiers distants sur votre machine locale via SSH. Tout en étant facile à utiliser, il présente des avantages en matière de sécurité. Il convient parfaitement pour des scénarios où la sécurité et la simplicité sont privilégiées par rapport à la performance et la stabilité.