GNU/Linux >> Tutoriels Linux >  >> Linux

SSHFS :montage d'un système de fichiers distant via SSH

SSHFS lui-même est un système de fichiers dans l'espace utilisateur (FUSE) qui utilise le protocole de transfert de fichiers SSH (SFTP) pour monter un système de fichiers distant. Le sshfs La commande est un outil client permettant d'utiliser SSHFS pour monter un système de fichiers distant à partir d'un autre serveur localement sur votre ordinateur.

Remarque : L'espace utilisateur (ou userland) est l'ensemble du code du système d'exploitation qui s'exécute en dehors du noyau.

Bien qu'il ne soit pas aussi performant qu'un système de fichiers local, sshfs est un moyen simple de travailler avec des fichiers sur un autre ordinateur à l'aide de programmes et d'outils locaux. Le meilleur de tous, sshfs peut être utilisé par des utilisateurs non privilégiés sur la machine locale (en fait, il est recommandé de ne pas être root ou pour élever ses privilèges en utilisant sshfs ), et il ne nécessite aucun logiciel spécial sur la machine distante autre que SSH avec SFTP activé, une configuration courante.

Installation de sshfs

Le sshfs L'outil est disponible à partir des référentiels standard de la plupart des distributions et s'installe plus facilement à l'aide du gestionnaire de packages de cette distribution. Pour Fedora, installation de sshfs est aussi simple que :dnf install fuse-sshfs . Sur les systèmes basés sur Debian, le paquet est simplement sshfs .

Monter un système de fichiers distant

Une fois sshfs est installé, monter un système de fichiers distant en toute sécurité via SSH est simple. Selon le sshfs page de manuel (man sshfs ), la syntaxe de la commande est : 

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

Cette syntaxe devrait sembler familière à quiconque a déjà utilisé SSH ou SCP.

Jetons un coup d'œil à sshfs en action. Tout d'abord, créez (ou sélectionnez un répertoire existant) à utiliser comme point de montage. Notez que l'utilisateur local invoquant le sshfs La commande doit avoir un accès en écriture au point de montage. Comme l'utilisation du compte root est déconseillée, cette politique peut rendre l'utilisation de ~/mnt préférable à /mnt . Ensuite, il suffit d'utiliser le sshfs pour vous connecter à la machine distante à l'aide de vos informations d'identification SSH et en spécifiant l'emplacement distant à monter sur le point de montage :

# Create the mountpoint
[chris@marvin ~ ]$ mkdir ~/mnt

# Invoke SSHFS with your SSH credentials and the remote location to mount
[chris@marvin ~ ]$ sshfs chris@zaphod:/home/chris/Pictures ~/mnt

# Access the newly mounted filesystem
[chris@marvin ~ ]$ ls ~/mnt/
'Screenshot from 2019-11-17 19-34-34.png'

Remarque : Fait amusant, sshfs ne développe pas ~ sur une machine distante vers le répertoire personnel de l'utilisateur.

Les systèmes de fichiers montés sont accessibles et utilisés de la même manière qu'un système de fichiers local, à la fois depuis la ligne de commande ou à l'aide d'autres outils :

Lorsque vous avez terminé avec le système de fichiers distant, démontez-le avec le fusermount commande :

# Unmount the remote FS
[chris@marvin ~ ]$ fusermount -u ~/mnt

Options de montage

Dans la plupart des cas, la valeur par défaut sshfs La commande peut être utilisée telle quelle, mais sshfs est loin d'être une simple commande. Il existe des tonnes d'options et d'indicateurs qui couvrent une variété de situations, y compris les options SSH et SFTP, la compression, etc. Consultez le sshfs manuel (man sshfs ) pour plus de détails sur ce qui est disponible.

L'une des options les plus utiles, cependant, est la reconnect , qui permet au client de rétablir la connexion au système distant si elle est interrompue :

# Use "-o reconect" to allow the client to reconnect
[chris@marvin ~ ]$ sshfs chris@zaphod:/home/chris/Pictures ~/mnt -o reconnect

Monter un système de fichiers distant au démarrage

Le sshfs La commande peut également être utilisée dans le système client /etc/fstab fichier pour monter automatiquement le système de fichiers distant. Utilisez le fstab normal syntaxe, y compris toutes les options requises, et utilisez sshfs à la place du type de système de fichiers :

# file: /etc/fstab
chris@zaphod:/home/chris/Pictures /home/chris/mnt sshfs

Notez que l'utilisation de sshfs avec fstab le montage de fichiers du système de fichiers doit être effectué en tant que root, de sorte que les ajustements appropriés doivent être effectués pour les informations d'identification SSH et que des précautions adéquates doivent être prises.

Le point de terminaison de transport n'est pas connecté

Vous pouvez recevoir un message Transport endpoint is not connected erreur lorsque la connexion est interrompue (par exemple, si la machine cliente change de réseau ou est suspendue). Dans ce cas, démontez le système de fichiers avec le fusermount commande, comme décrit ci-dessus :

[chris@marvin ~ ]$ ls ~/mnt
ls: cannot access '/home/chris/mnt': Transport endpoint is not connected
[chris@marvin ~ ]$ fusermount -u ~/mnt

J'espère que cet article vous a donné les bases nécessaires pour travailler avec sshfs . C'est un excellent outil pour travailler en toute sécurité avec des systèmes de fichiers distants via une connexion SSH cryptée tout en étant monté localement sur votre ordinateur client. Et comme mentionné, merci à sshfs étant un système de fichiers FUSE, même les utilisateurs non privilégiés peuvent l'utiliser sans avoir besoin d'un administrateur pour le configurer.

Vous voulez essayer Red Hat Enterprise Linux ? Téléchargez-le maintenant gratuitement.


Linux
  1. Exécuter un fichier de script sur Ssh via Sudo ?

  2. vérifier si le fichier existe sur l'hôte distant avec ssh

  3. SSH avec des clés autorisées à un système Ubuntu avec un répertoire personnel crypté ?

  4. Alternative à la ligne de commande SSH d'Ubuntu

  5. Fichier journal de queue sur plusieurs machines via ssh

Comment exécuter des commandes Linux sur un système distant via SSH

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

Démarrage automatique de la session Tmux sur le système distant lors de la connexion via SSH

Comment monter un système de fichiers Linux distant à l'aide de SSHFS

Utiliser le fichier de configuration SSH pour gérer les connexions SSH à divers serveurs distants

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