Montage de dossiers distants via SSHFS
linux - 📁 procedure
J’ai souvent vanté les mérites du SSHFS mais je n’ai jamais réellement expliqué le concept du partage à-la-Windows... mais sécuritaire!
Le concept est simple. Un dossier de mount points sur diverses machines dans le local en Linux. Disons que votre dossier ~ est dans /home/username, ajoutez vos serveurs, par exemple, dans un dossier "Drives".
Attention aux non initiés en Linux... c’est un howto très technique!
Le résultat de cette procédure vous permettra d’accéder a des fichiers sur une autre machine comme si vous y étiez. Ce n’est pas un système qui synchronise les fichiers sur plus d’une machine. Ce n'est pas une copie de sauvegarde.
Assomptions
J’assumerai que vous avez deux machines Linux.
Pour la procédure, j’utiliserai les informations suivantes.
Veuillez ajuster pour votre situation:
- Utilistaeur distant
- sa-storage
- Hôte Linux qui va stocker les fichiers
- 192.168.0.2
- Chemin pour fichiers sur l’hôte Linux
- /home/sa-storage/Drives/web1
- /home/sa-storage/Drives/web2
Considérations
Je suis prends pour acquis les détails suivants;
- Le caractère
~
est un caractère qui de décrire le chemin vers le dossier Maison de l’utilisateur courrant, si vous êtes connecté en tant que "bob", le dossier sera/home/bob
- J’ai utilisé Ubuntu, le nom du paquet peut changer et le gestionnaire de paquet aussi, mais le reste devrait demeurer la même chose.
- Synonymes: fusermount, sshfs
- La commande ALT+F2 est un raccourci clavier pour faire exécuter une commande, on pourrait trouver RUN dans le menu aussi.
Prodécure
Sur notre machine locale, si dans le Terminal.
mkdir ~/Drives
Ajoutez y tout vos hosts que vous voulez... Je ne prendrai pas d’exemple réel étant donné qu’on a pas nécessairement tous les même droits partout sur les machines et vm. Personnellement, je l’ai fait sur les serveurs web1 et web2 deux serveurs redondants d’hébergement de services web. J’ai donc créé ~/Drives/web1 et ~/Drives/web2
mkdir ~/Drives/web1
mkdir ~/Drives/web2
Dans mon exemple, sur ces deux machines j’ai mon propre usager et j’ai ajouté mon login dans le ~/.ssh/authorized_keys de mon homedir. Si vous avez pas ça, faites vous le en suivant le howto ici: login ssh sans mot de passe. Vous pourrez tester en faisant $ ssh hostname il devrait se loguer tout seul. Si vous ne faites pas cela, vous serez oubligé d’entrer vos mots de passes de TOUTES vos machines... A chaque login. Pour continuer, on doit aussi installer le paquetage sshfs
sudo apt-get install sshfs
Pour avoir le droit de monter les hôtes en sshfs, vous devez vous autoriser l’exécution du mount sinon vous êtes condamné a entrer le mot de passe root a chaque login. Vous pouvez aller via: System Administration Users and Groups Puis ajoutez dans Manage groups (ou quelque chose qui parle de ça) puis trouvez le groupe fuse puis dans Properties ajoutez votre propre login qui est probablement non coché. Aussi: Une manière alternative de s’ajouter le droit fuse, serait de faire en shell
sudo usermod -G fuse username
Finalement... l’auto exécution. Il faut aller dans System Préférences Sessions puis ajouter un Startup programs avec la commande suivante:
sshfs sa-storage@192.168.0.2:/home/sa-storage/Drives/web1 \
~/Drives/web1 \
-o reconnect
Vous devinerez comment écrire correctement la commande en l’appliquant a vos
besoins. Oubliez pas de faire sauvegarder votre session GNOME,
ALT+F2 puis tapez gnome-session-save
puis enter.
Déconnectez et re-connectez-vous. En naviguant dans votre dossier Maison
(~
), dans le dossier ~/Drives/
vous avez maintenant vos dossiers sur toutes
vos machines distantes... localement!
Références
Mon expérience... et un peu de;