Recherche de site Web

Comment monter un système de fichiers ou un répertoire Linux distant à l'aide de SSHFS sur SSH


L'objectif principal de la rédaction de cet article est de fournir un guide étape par étape sur la façon de monter un système de fichiers Linux distant à l'aide du client SSHFS sur SSH.

Cet article est utile pour les utilisateurs et les administrateurs système qui souhaitent monter un système de fichiers distant sur leurs systèmes locaux, à quelque fin que ce soit. Nous avons testé pratiquement en installant le client SSHFS sur l'un de nos systèmes Linux et en montant avec succès les systèmes de fichiers distants.

Avant de poursuivre l'installation, comprenons ce qu'est SSHFS et son fonctionnement.

Qu’est-ce que SSHFS ?

SSHFS signifie (Secure SHell FileSystem) client qui nous permet de monter un système de fichiers distant et d'interagir avec des répertoires et des fichiers distants sur une machine locale à l'aide de SSH. Protocole de transfert de fichiers (SFTP).

Lecture suggérée : 10 exemples de commandes sFTP pour transférer des fichiers sur des serveurs distants sous Linux

SFTP est un protocole de transfert de fichiers sécurisé qui fournit des fonctionnalités d'accès aux fichiers, de transfert de fichiers et de gestion de fichiers via le protocole Secure Shell. Parce que SSH utilise le cryptage lors du transfert de fichiers sur le réseau d'un ordinateur à un autre et que SSHFS est livré avec FUSE intégré (Système de fichiers dans l'espace utilisateur). module de noyau qui permet à tout utilisateur non privilégié de créer son système de fichiers sans modifier le code du noyau.

Dans cet article, nous allons vous montrer comment installer et utiliser le client SSHFS sur n'importe quelle distribution Linux pour monter un système de fichiers ou un répertoire Linux distant sur une machine Linux locale.

Étape 1 : Installer le client SSHFS sur les systèmes Linux

Par défaut, les packages sshfs n'existent pas sur toutes les principales distributions Linux, vous devez activer le référentiel epel sous vos systèmes Linux pour installer sshfs à l'aide de la commande Yum avec leurs dépendances.

yum install sshfs
dnf install sshfs              [On Fedora 22+ releases]
sudo apt-get install sshfs     [On Debian/Ubuntu based systems]

Étape 2 : Création du répertoire de montage SSHFS

Une fois le package sshfs installé, vous devez créer un répertoire de point de montage dans lequel vous monterez votre système de fichiers distant. Par exemple, nous avons créé le répertoire de montage sous /mnt/tecmint.

mkdir /mnt/tecmint
sudo mkdir /mnt/tecmint     [On Debian/Ubuntu based systems]

Étape 3 : Montage du système de fichiers distant avec SSHFS

Une fois que vous avez créé votre répertoire de point de montage, exécutez maintenant la commande suivante en tant qu'utilisateur root pour monter le système de fichiers distant sous /mnt/tecmint . Dans votre cas, le répertoire de montage serait n'importe quoi.

La commande suivante montera le répertoire distant appelé /home/tecmint sous /mnt/tecmint dans le système local. (N'oubliez pas de remplacer x.x.x.x par votre adresse IP et votre point de montage).


sshfs [email :/home/tecmint/ /mnt/tecmint
sudo sshfs -o allow_other [email :/home/tecmint/ /mnt/tecmint     [On Debian/Ubuntu based systems]

Si votre serveur Linux est configuré avec une autorisation basée sur une clé SSH, vous devrez alors spécifier le chemin d'accès à vos clés publiques comme indiqué dans la commande suivante.


sshfs -o IdentityFile=~/.ssh/id_rsa [email :/home/tecmint/ /mnt/tecmint
sudo sshfs -o allow_other,IdentityFile=~/.ssh/id_rsa [email :/home/tecmint/ /mnt/tecmint     [On Debian/Ubuntu based systems]

Étape 4 : Vérification du système de fichiers distant monté

Si vous avez exécuté la commande ci-dessus avec succès sans aucune erreur, vous verrez la liste des fichiers et répertoires distants montés sous /mnt/tecmint.

cd /mnt/tecmint
ls
[root@ tecmint]# ls
12345.jpg                       ffmpeg-php-0.6.0.tbz2                Linux                                           news-closeup.xsl     s3.jpg
cmslogs                         gmd-latest.sql.tar.bz2               Malware                                         newsletter1.html     sshdallow
epel-release-6-5.noarch.rpm     json-1.2.1                           movies_list.php                                 pollbeta.sql
ffmpeg-php-0.6.0                json-1.2.1.tgz                       my_next_artical_v2.php                          pollbeta.tar.bz2

Étape 5 : Vérification du point de montage avec la commande df -hT

Si vous exécutez la commande df -hT, vous verrez le point de montage du système de fichiers distant.

df -hT
Exemple de sortie
Filesystem                          Type        Size  Used Avail Use% Mounted on
udev                                devtmpfs    730M     0  730M   0% /dev
tmpfs                               tmpfs       150M  4.9M  145M   4% /run
/dev/sda1                           ext4         31G  5.5G   24G  19% /
tmpfs                               tmpfs       749M  216K  748M   1% /dev/shm
tmpfs                               tmpfs       5.0M  4.0K  5.0M   1% /run/lock
tmpfs                               tmpfs       749M     0  749M   0% /sys/fs/cgroup
tmpfs                               tmpfs       150M   44K  150M   1% /run/user/1000
[email :/home/tecmint fuse.sshfs  324G   55G  253G  18% /mnt/tecmint

Lecture suggérée : 12 commandes « df » utiles pour vérifier l'espace disque sous Linux

Étape 6 : Montage permanent du système de fichiers distant

Pour monter un système de fichiers distant de manière permanente, vous devez éditer le fichier appelé /etc/fstab. Pour ce faire, ouvrez le fichier avec votre éditeur préféré.

vi /etc/fstab
sudo vi /etc/fstab     [On Debian/Ubuntu based systems]         

Allez au bas du fichier et ajoutez-y la ligne suivante, enregistrez le fichier et quittez. L'entrée ci-dessous monte le système de fichiers du serveur distant avec les paramètres par défaut.


sshfs#[email :/home/tecmint/ /mnt/tecmint fuse.sshfs defaults 0 0

Assurez-vous que la connexion sans mot de passe SSH est en place entre les serveurs pour monter automatiquement le système de fichiers lors des redémarrages du système.

Si votre serveur est configuré avec une autorisation basée sur une clé SSH, ajoutez cette ligne :


sshfs#[email :/home/tecmint/ /mnt/tecmint fuse.sshfs IdentityFile=~/.ssh/id_rsa defaults 0 0

Ensuite, vous devez mettre à jour le fichier fstab pour refléter les modifications.

mount -a
sudo mount -a   [On Debian/Ubuntu based systems]

Étape 7 : Démontage du système de fichiers distant

Pour démonter le système de fichiers distant, exécutez la commande suivante, cela démontera le système de fichiers distant.

umount /mnt/tecmint

C'est tout pour l'instant, si vous rencontrez des difficultés ou avez besoin d'aide pour monter un système de fichiers distant, veuillez nous contacter via les commentaires et si vous pensez que cet article est très utile, partagez-le avec vos amis.