Comment monter un répertoire distant sur votre PC local avec sshfs

1. Installer sshfs sur votre PC local

  • Sur une machine Linux (ex. Ubuntu/Debian), installez le paquet sshfs :
    sudo apt update
    sudo apt install sshfs
  • Pour macOS, installez sshfs via Homebrew :
    brew install macfuse
    brew install sshfs
  • Pour Windows, utilisez WinFsp et SSHFS-Win.

2. Créer un point de montage local

Créez un répertoire local où le système de fichiers distant sera monté, par exemple :

mkdir ~/remote_home

3. Monter le répertoire distant avec sshfs

Utilisez la commande suivante pour monter le répertoire distant :

sshfs username@remote_host:/path/to/remote/home ~/remote_home
  • Remplacez username par votre nom d’utilisateur sur le serveur distant.
  • Remplacez remote_host par l’adresse de votre serveur distant (par ex. 192.168.1.100 ou example.com).
  • Remplacez /path/to/remote/home par le chemin du répertoire que vous souhaitez monter (par ex. /home/user).

4. Options utiles

Voici quelques options pratiques pour personnaliser le montage :

  • Mode verbeux (pour debug) : Ajoutez -o debug.
  • Compression : Ajoutez -o compression=yes pour compresser les données transférées.
  • Lecture seule : Ajoutez -o ro pour monter en mode lecture seule.
  • Port personnalisé : Si le serveur utilise un port SSH non standard (par ex. 1234) :
    sshfs username@remote_host:/path/to/remote/home ~/remote_home -p 1234
  • Préserver les permissions locales :
    sshfs username@remote_host:/path/to/remote/home ~/remote_home -o uid=$(id -u),gid=$(id -g)

5. Démonter le répertoire

Pour démonter le répertoire une fois que vous avez fini, utilisez :

fusermount -u ~/remote_home

6. Automatiser avec /etc/fstab (optionnel)

Si vous voulez monter automatiquement le répertoire au démarrage :

  1. Ajoutez une ligne au fichier /etc/fstab :
    sshfs#username@remote_host:/path/to/remote/home ~/remote_home fuse.sshfs defaults,_netdev 0 0
  2. Configurez votre clé SSH pour éviter d’entrer le mot de passe à chaque fois.

7. Utiliser un fichier de configuration SSH (optionnel)

Si vous avez des options SSH spécifiques (comme ProxyCommand, port personnalisé, etc.), configurez-les dans ~/.ssh/config. Exemple :

Host remote_server
    HostName example.com
    User username
    Port 1234
    ProxyCommand ssh -W %h:%p jump_host

Puis, utilisez simplement :

sshfs remote_server:/path/to/remote/home ~/remote_home

Dernière mise à jour : 21 novembre 2024 mesocentre-techn@univ-amu.fr

+33 (0)4 13 94 58 29 / (0)4 13 94 58 27