Comment monter des répertoires distants dans Linux avec SSHFS

Il n’y a certainement pas de pénurie de solutions lorsqu’il s’agit de synchroniser des fichiers entre deux appareils. Bien que Google Drive et Microsoft OneDrive ne vous donnent peut-être pas de clients Linux officiels, NextCloud et d’autres le font. Mais peut-être que vous ne faites pas confiance à une grande entreprise pour stocker vos fichiers. Ou, peut-être, vous voulez plus de sécurité que ce que NextCloud offre. Avec tous les composants nécessaires à la construction de quelque chose comme NextCloud, il y a de fortes chances qu’il ait plus de failles de sécurité non découvertes que des solutions plus simples.
Pourquoi utiliser SSHFS ?
Du point de vue de l’utilisateur final, c’est très facile à utiliser, propre et simple. C’est aussi incroyablement sécurisé car il repose sur le serveur OpenSSH éprouvé et robuste. Le chiffrement est également de premier ordre, donc vous pouvez être assuré que personne ne peut voler vos fichiers pendant leur transit. Un serveur correctement configuré et à jour qui n’écoute que les connexions SSH est généralement impossible à craquer pour tous sauf les attaquants les plus qualifiés (pensez à la NSA, aux spécialistes de la sécurité, etc.). Et ils ne veulent probablement pas de vos fichiers.
Pourquoi vous ne voudriez pas utiliser SSHFS
Si vous voulez la meilleure vitesse de transfert possible, vous voudrez peut-être utiliser d’autres solutions comme NFS. SSHFS n’est pas le plus lent si votre connexion Internet est de haute qualité, mais ce n’est pas le plus rapide non plus. Et si vous voulez transférer des répertoires contenant des centaines de petits fichiers, cela devient horrible. De plus, si vous souhaitez affiner les paramètres de partage de fichiers, en fonction des utilisateurs individuels ou d’autres facteurs, vous voudrez peut-être utiliser d’autres logiciels.
Pour résumer, si tout ce dont vous avez besoin est un moyen facile et sécurisé de synchroniser un répertoire distant avec un local et que vous n’êtes pas pressé, vous serez probablement satisfait de cette solution.
Installer SSHFS
Sur les installations basées sur Arch Linux, utilisez cette commande :
sudo pacman -SsshfsSi vous êtes sur une distribution basée sur Fedora, utilisez :
sudo dnf installsshfsSur Debian, Ubuntu et la famille, utilisez :
sudo apt installsshfsPour ceux d’entre vous qui utilisent OpenSUSE, entrez cette commande :
sudo zypper installsshfsConfiguration du serveur
Si vous louez un serveur ou un VPS, le démon du serveur OpenSSH est déjà configuré. Suivez les étapes recommandées par votre fournisseur de services cloud pour configurer un utilisateur régulier (non-root). Certains vous permettent de le faire directement depuis leur panneau de contrôle web et vous permettent même d’importer la clé publique pour permettre l’accès SSH. Dans ce cas, générez les paires de clés localement, avec la commande ssh-keygen. Ensuite, importez la clé publique depuis “/home/your_username/.ssh/id_rsa.pub.”
Si le fournisseur cloud n’offre pas d’outil pour importer facilement les clés publiques SSH, faites-le manuellement. Au minimum, interdisez la connexion root et désactivez les connexions par mot de passe. Utilisez exclusivement des clés SSH : elles sont impossibles à forcer par brute force, contrairement aux mots de passe.
Si vous souhaitez synchroniser des fichiers entre deux ordinateurs à domicile, traitez-en un comme le serveur (installez le paquet openssh-server et configurez-le) et l’autre comme le client. Les mêmes étapes s’appliquent.
Monter un répertoire distant localement avec SSHFS
Tout d’abord, créez un répertoire qui sera synchronisé avec le côté distant.
mkdir$HOME/sshfsEnsuite, montez le répertoire distant localement via SSHFS. Remplacez “user” par le nom d’utilisateur réel créé sur votre serveur et “203.0.113.1” par l’adresse IP réelle de votre instance distante.
sshfs [email protected]:/home/user $HOME/sshfsBien sûr, si vous ne voulez pas synchroniser l’intégralité du répertoire personnel de l’utilisateur côté serveur, remplacez simplement “/home/user” par “/home/user/some_other_directory” après l’avoir créé sur le serveur.
Lorsque vous souhaitez démonter, utilisez cette commande :
cd&& fusermount -u$HOME/sshfsConclusion
Si vous souhaitez qu’un répertoire soit synchronisé en permanence avec le côté distant, ajoutez une commande comme sshfs [email protected]:/home/user $HOME/sshfs dans votre gestionnaire de démarrage automatique. Chaque gestionnaire graphique a un gestionnaire de configuration de démarrage automatique différent, alors consultez le manuel d’aide de votre environnement de bureau. Certaines sources recommandent d’ajouter une entrée à “/etc/fstab”, mais nous vous conseillons d’éviter cela, car un échec de montage du répertoire peut entraîner un échec de démarrage complet de votre système.
Espérons que cela couvre tous vos besoins. Mais, si ce n’est pas le cas, vous pouvez lire d’autres options en ligne dans le manuel SSHFS.