GNU/Linux >> Tutoriels Linux >  >> Linux

Comment utiliser SSHFS pour monter des répertoires distants sur SSH

SSHFS (SSH Filesystem) est un client de système de fichiers basé sur FUSE pour monter des répertoires distants via une connexion SSH. SSHFS utilise le protocole SFTP, qui est un sous-système de SSH et il est activé par défaut sur la plupart des serveurs SSH.

Par rapport à d'autres protocoles de système de fichiers réseau tels que NFS et Samba, l'avantage de SSHFS est qu'il ne nécessite aucune configuration supplémentaire côté serveur. Pour utiliser SSHFS, vous n'avez besoin que d'un accès SSH au serveur distant.

Étant donné que SSHFS utilise SFTP, toutes les données transmises entre le serveur et le client doivent être chiffrées et déchiffrées. Cela se traduit par des performances légèrement dégradées par rapport à NFS et une utilisation plus élevée du processeur sur le client et le serveur.

Ce didacticiel vous montrera comment installer le client SSHFS sous Linux, macOS et Windows et comment monter un répertoire distant.

Installation de SSHFS #

Les packages SSHFS sont disponibles pour tous les principaux systèmes d'exploitation et l'installation est assez simple.

Installer SSHFS sur Ubuntu et Debian #

SSHFS est disponible à partir des référentiels Ubuntu et Debian par défaut. Mettez à jour l'index des packages et installez le client sshfs en tapant :

sudo apt updatesudo apt install sshfs

Installation de SSHFS sur CentOS #

Sur CentOS et d'autres dérivés de Red Hat, exécutez la commande suivante pour installer sshfs :

sudo yum install sshfs

Installer SSHFS sur macOS #

Les utilisateurs de macOS peuvent installer le client SSHFS en téléchargeant les packages FUSE et SSHFS depuis le site osxfuses ou via Homebrew :

brew cask install osxfusebrew install sshfs

Installation de SSHFS sous Windows #

Les utilisateurs Windows doivent installer deux packages, WinFsp et SSHFS-Win.

  • WinFsp.
  • SSHFS-Win.

Monter un système de fichiers distant #

Les instructions suivantes s'appliquent à toutes les distributions Linux et macOS.

Pour monter un répertoire distant, l'utilisateur SSH doit pouvoir y accéder. La commande de montage SSHFS prend la forme suivante :

sshfs [user@]host:[remote_directory] mountpoint [options]

La commande sshfs lira le fichier de configuration SSH et utilisera les paramètres par hôte. Si le répertoire distant n'est pas spécifié, il s'agit par défaut du répertoire d'accueil de l'utilisateur distant.

Par exemple, pour monter le répertoire personnel d'un utilisateur nommé "linuxize" sur un hôte distant avec l'adresse IP de "192.168.121.121", créez d'abord un répertoire qui servira de point de montage, il peut s'agir de n'importe quel emplacement que vous souhaitez :

mkdir ~/linuxizeremote

Utilisez ensuite la commande sshfs pour monter le répertoire distant :

sshfs [email protected]:/home/linuxize /home/linuxize/linuxizeremote

Vous serez invité à entrer le mot de passe de l'utilisateur. Pour éviter de taper le mot de passe à chaque fois que vous montez le répertoire distant, générez des clés SSH et configurez la connexion SSH sans mot de passe.

Vous pouvez désormais interagir avec les répertoires et les fichiers situés sur un serveur distant de la même manière qu'avec les fichiers locaux. Par exemple, vous pouvez modifier, supprimer, renommer ou créer de nouveaux fichiers et répertoires.

Si vous souhaitez monter de manière permanente le répertoire distant, vous devez modifier le /etc/fstab de la machine locale fichier et ajouter une nouvelle entrée de montage. De cette façon, lorsque votre système démarrera, il montera automatiquement le répertoire distant.

Pour monter un répertoire distant sur SSHFS à partir de /etc/fstab , utilisez fuse.sshfs comme type de système de fichiers.

/etc/fstab
user@host:/remote/dir  /local/mountpoint  fuse.sshfs  defaults  0  0

Lors de la création d'un montage persistant, assurez-vous que vous pouvez connecter l'hôte distant à l'aide de l'authentification basée sur la clé SSH.

Monter un système de fichiers distant sur Windows #

Les utilisateurs Windows peuvent utiliser l'Explorateur Windows pour mapper un lecteur réseau au répertoire distant sur le serveur SSH.

Ouvrez l'Explorateur Windows, faites un clic droit sur "Ce PC" et sélectionnez "Mapper le lecteur réseau". Choisissez un lecteur sur lequel monter et dans le champ "Dossier", entrez l'utilisateur distant, le serveur et le chemin au format suivant :

\\sshfs\user@host[\PATH]

Au moment de la rédaction de cet article, SSHFS-Win ne prend pas en charge l'authentification par clé. Le serveur ssh distant doit donc être configuré pour accepter l'authentification par mot de passe.

Pour des informations plus détaillées, consultez le manuel SSHFS-Win.

Démonter un système de fichiers distant #

Pour détacher un système de fichiers monté, utilisez soit le umount ou fusermount commande suivie du répertoire où elle a été montée (point de montage) :

fusermount -u /local/mountpoint
umount /local/mountpoint

Conclusion #

Dans ce guide, vous avez appris à utiliser SSHFS pour monter un répertoire distant via SSH. Cela peut être utile lorsque vous souhaitez interagir avec les fichiers distants à l'aide des applications de votre machine locale.

Pour une liste complète des options sshfs, tapez man sshfs dans votre terminal.

Vous pouvez également restreindre l'accès des utilisateurs à leur répertoire personnel en configurant un environnement SFTP Chroot Jail et en modifiant le port SSH par défaut pour ajouter une couche de sécurité supplémentaire à votre serveur.

Si vous avez des questions ou des commentaires, n'hésitez pas à laisser un commentaire.


Linux
  1. Comment monter un partage Windows à distance sur Linux

  2. SSHFS (Secure SHell FileSystem) - Monter en toute sécurité le système de fichiers distant sur ssh

  3. Comment utiliser la commande su sur adb shell ?

  4. Utiliser un appareil via SSH ?

  5. Comment savoir si une connexion ssh ControlMaster est en cours d'utilisation

Comment utiliser SSH pour se connecter à un serveur distant

Monter un dossier distant avec sshfs

Comment :Administration à distance de FreeBSD

Comment utiliser SSHFS Mount avec des répertoires distants via SSH

Comment utiliser SSH pour se connecter à un serveur distant sous Linux ou Windows

Comment monter un dossier Linux distant dans Windows via SSH ?