Accès local à des fichiers distants via sshfs
Situation
-
Vous avez sur votre machine tout le confort d'édition auquel vous avez l'habitude.
-
Dans un terminal, vous n'avez que des éditeurs de texte frustes.
Pour éditer des fichiers sur votre machine puis les exécuter sur une autre machine, vous avez plusieurs solutions :
- vous copiez/collez (à éviter)
- si vos fichiers sont gérés via
git
(voir chapitre suivant), vous utilisezgit
sur votre machine et sur l'autre machine (à éviter) - votre éditeur sait accéder à la machine distante (VisualCode SSH, vim…)
- très pratique mais seul votre éditeur pourra accéder à ses fichiers
- vous installez/utilisez un serveur samba ou NFS sur la machine distante
- vous en savez trop pour cette section
- vous utilisez
sshfs
qui permet de partager un disque de donnée à distance
En résumé, sshfs
vous permet de connecter toute partie du système de fichier distant, avec les droits associés, sur votre machine locale comme vous l'avez déjà fait avec votre compte école.
Les données sur la machine distante apparaissent alors comme si elles étaient sur une clé USB / disque sur votre machine, vous pouvez les éditer dans votre environnement et les modifications sont visibles immédiatement sur la machine distante.
Installation sshfs
On nommera ci-dessous machine
le nom de la machine distante et login
le nom de l'utilisateur sur la machine distante.
MacOS
- installez macFuse et sshfs depuis https://osxfuse.github.io/
- créez le répertoire
/Volumes/distant
- tapez
Vous voyez alors les fichiers locaux de l'autre machine dans le répertoire /Volumes/distant
.
Pour vous déconnecter, utilisez la commande umount
sur le volume monté:
Linux
- installez
sshfs
avecsudo apt install sshfs
- créez le répertoire
/media/distant
- tapez
Vous voyez alors les fichiers locaux de l'autre machine dans le répertoire /media/distant
Pour vous déconnecter, utilisez la commande umount
sur le volume monté:
Windows
- installez
WinFsp et sshfs-Win
depuis https://github.com/winfsp/sshfs-win - connectez-vous à
\\sshfs\username@machine\remote\directory
dans l'explorateur de fichiers
Pour vous déconnecter, utilisez l'explorateur de fichiers.
Remarques
Vous pouvez passer un chemin distant vide à SSHFS pour votre répertoire utilisateur:
Vous pouvez passer un chemin relatif à votre répertoire utilisateur:
Attention
Utiliser le raccourci ~
en sshfs ne fonctionne pas !
Le répertoire par défaut étant votre répertoire utilisateur distant, utiliser des chemins relatifs à ce répertoire, comme ./projets
.
Les chemins commençants par /
sont des chemins absolus.