Niveau :
Résumé : apt-get install sshfs && sshfs user@machine:/rep /mnt
Sshfs ou comment vous faciliter la vie.
N'avez-vous pas déjà pesté sur le fait de devoir travailler à distance ? Ouvrir un shell et utiliser les moyens du bord vi / emacs (ne lançons pas de troll, personnellement, je préfère ed), ou pire lancer une interface graphique pour éditer vos fichier et constater que tout cela est bien lent. Une autre alternative est de copier les fichiers en local chez vous et de travailler dessus (ouf enfin des outils sympa !), mais ensuite c'est la galère, il faut penser à renvoyer les fichier et après quelques aller-retours, on ne sait plus quel est le dernier fichier modifié et dans quel sens transmettre. rsync (over ssh svp) est la pour vous aider, mais ça manque de convivialité.
Aperçu
Il existe "Ô miracle" un outil fait pour vous, taillé à votre image : sshfs. Grâce à lui vous pourrez enfin vous sentir chez vous tout en manipulant des fichiers distants. Mais laissons parler la ligne de commande :
$ ssh loin.tresloin.com "ls -a ~/devel/" > . .. README projetv1 projetv2 $ mkdir ~/loin-devel $ ls -a loin-devel > . .. $ sshfs loin.tresloin.com:~/devel loin-devel $ ls -a loin-devel > . .. README projetv1 projetv2
Et voilà ! Faites comme chez vous.
Vous avez tous compris, sshfs fait apparaître comme locaux des fichiers distants à travers une connexion ssh. Il suffit dont de disposer d'un accès ssh à une machine pour pouvoir faire tout ce qu'on veut.
À l'usage vous aurez éventuellement besoin de démonter un montage sshfs : utilisez la commande
$ fusermount -u ~/loin-devel
Installation
C'est génial me direz-vous, mais comment dois-je faire pour l'avoir chez moi ?
Sshfs est un système de fichier basé sur ssh et donc implémenté en userland (ie pas dans le noyau) . Or "tous" les systèmes de fichiers sont dans le noyau. Une API a alors été développée pour rendre tout ceci possible: fuse (filesystem in userland). Par conséquent sshfs dépend de la présence de fuse dans votre noyau (maintenant fourni par défaut).
Ensuite à chaque utilisateur de trouver sa méthode pour installer sshfs.
apt-get install
tar xvfz && ./configure && make && sudo make install
Toutes les informations se trouvent ici : http://fuse.sourceforge.net/sshfs.html
Note
Sur le même principe, il existe de nombreux fs dont ftpfs, bien pratique pour le développement de sites web sur un hébergement mutualisé : liste non exhaustive
Comments