Vous disposez d'un petit serveur web a la maison, sur une autre machine que votre station de travail bien sur, et vous en avez assez de faire du ssh et du scp entre ces deux machines, et bien il existe une solution permettant de faire cela via un gestionnaire de fichier, Nautilus ou autre...donc de manière graphique grâce a sshfs*!!!
*sshfs : Secure SHell File System
Avantages
* On conserve la sécurité lié a ssh pour les échanges sur le réseau.
* Confort de gestion grâce a l'interface graphique de la machine sur laquelle on monte le système.
* Ne nécessite pas de droits root pour fonctionner (sauf cas précis).
Voici la config utilisée pour faire cette manipulation :
=> Serveur web (web1) : Ubuntu 6.06 (ip=192.168.1.100)
=> Station de travail (stat1) : Ubuntu 7.10 (ip-192.168.1.50)
Cette article part du principe que bien évidement les paquets openssh-server, openssh-client (si on veut le faire dans les deux sens ! ) soit installés sur ces machines (ainsi que Fuse pour la machine qui vas monter le système, mais ce dernier est installé de base sur Ubuntu 7.10 me semble t-il).
Commençons par un exemple simple, vous souhaitez monter le dossier personnel du serveur web (/home/web1) dans le répertoire mnt de votre station de travail (/mnt/web1).
Pour ce faire, vous avez besoin d'installer sur la station, le paquet sshfs (pour Secure Shell File System), c'est partit !!
Code BASH :
A partir d'ici on peut se servir de sshfs, cependant, il se peut que vous ayez l'erreur suivante :
Code BASH :
Le moyen de résoudre ce problème est simple, il suffit de vérifier que votre utilisateur fait bien parti du groupe Fuse, en effet, Fuse permet a un simple utilisateur de monter des systèmes de fichiers....pour plus de précisions sur Fuse, c'est par ici.
Si tel n'est pas le cas, il vous faudra rajouter votre user dans le group Fuse et redémarrer la machine pour que ce changement soit pris en compte.
Ok, vous avez redémarré votre machine, vous faite partit du group Fuse, ssh est installé (enfin j'espère, sinon vous avez fait ça pour rien !! )
Montons donc ce répertoire ! Il faut, au préalable, créer le point de montage sur le système de fichier de stat1
Code BASH :
La syntaxe a utiliser avec sshfs est la suivante :
Code :
Dans notre cas, ça donne quelque chose comme ça :
Code BASH :
Votre mot de passe inscrit et validé, n'attendez pas de message de congratulation, vous n'aurez de réponse que si il y a une erreur si il n'y en a pas, vous pouvez de ce pas ouvrir votre gestionnaire de fichier et aller au point de montage, vous y trouverez le graal....
Maintenant pour démonter ce système de fichier, nous allons utiliser Fuse...et oui, c'est grâce a lui qu'on peut monter un système en tant que simple utilisateur ! Voici la syntaxe a utiliser :
Code BASH :
donc
Code BASH :
Il est également possible, si vous montez ce système régulièrement, d'éditer le fichier fstab afin d'y ajouter ce point de montage.Supposons que vous ayez ce point : /mnt/web1, cela donnerait la ligne suivantes :
Code BASH :
Et voila ! vous savez désormais monter un système de fichier distant sur votre propre machine, je vous laisse imaginer les avantage que l'on peut en tirer, surtout pour les réfractaires a la ligne de commande mais qui veulent conserver une certaine sécurité...heureusement, ssh est la !
*sshfs : Secure SHell File System
Avantages
* On conserve la sécurité lié a ssh pour les échanges sur le réseau.
* Confort de gestion grâce a l'interface graphique de la machine sur laquelle on monte le système.
* Ne nécessite pas de droits root pour fonctionner (sauf cas précis).
Voici la config utilisée pour faire cette manipulation :
=> Serveur web (web1) : Ubuntu 6.06 (ip=192.168.1.100)
=> Station de travail (stat1) : Ubuntu 7.10 (ip-192.168.1.50)
Cette article part du principe que bien évidement les paquets openssh-server, openssh-client (si on veut le faire dans les deux sens ! ) soit installés sur ces machines (ainsi que Fuse pour la machine qui vas monter le système, mais ce dernier est installé de base sur Ubuntu 7.10 me semble t-il).
Commençons par un exemple simple, vous souhaitez monter le dossier personnel du serveur web (/home/web1) dans le répertoire mnt de votre station de travail (/mnt/web1).
Pour ce faire, vous avez besoin d'installer sur la station, le paquet sshfs (pour Secure Shell File System), c'est partit !!
Code BASH :
stat1@stat1:~$ sudo apt-get install sshfs
A partir d'ici on peut se servir de sshfs, cependant, il se peut que vous ayez l'erreur suivante :
Code BASH :
failed to open /dev/fuse: Permission denied
Le moyen de résoudre ce problème est simple, il suffit de vérifier que votre utilisateur fait bien parti du groupe Fuse, en effet, Fuse permet a un simple utilisateur de monter des systèmes de fichiers....pour plus de précisions sur Fuse, c'est par ici.
Si tel n'est pas le cas, il vous faudra rajouter votre user dans le group Fuse et redémarrer la machine pour que ce changement soit pris en compte.
Ok, vous avez redémarré votre machine, vous faite partit du group Fuse, ssh est installé (enfin j'espère, sinon vous avez fait ça pour rien !! )
Montons donc ce répertoire ! Il faut, au préalable, créer le point de montage sur le système de fichier de stat1
Code BASH :
stat1@stat1:~$ sudo mkdir /mnt/web1
La syntaxe a utiliser avec sshfs est la suivante :
Code :
user@desktop:~$sshfs utilisateur-local@ip-machine:le-chemein-vers-le-dossier-a-monter point-de-montage
Dans notre cas, ça donne quelque chose comme ça :
Code BASH :
stat1@stat1:~$sshfs web1@192.168.1.100:/home/web1 /mnt/web1 web1@192.168.1.00's password : stat1@stat1:~$
Votre mot de passe inscrit et validé, n'attendez pas de message de congratulation, vous n'aurez de réponse que si il y a une erreur si il n'y en a pas, vous pouvez de ce pas ouvrir votre gestionnaire de fichier et aller au point de montage, vous y trouverez le graal....
Maintenant pour démonter ce système de fichier, nous allons utiliser Fuse...et oui, c'est grâce a lui qu'on peut monter un système en tant que simple utilisateur ! Voici la syntaxe a utiliser :
Code BASH :
user@desktop:~$ fusermount -u chemin-vers-point-de-montage
donc
Code BASH :
stat1@stat1:~$ fusermount -u /mnt/tmp
Il est également possible, si vous montez ce système régulièrement, d'éditer le fichier fstab afin d'y ajouter ce point de montage.Supposons que vous ayez ce point : /mnt/web1, cela donnerait la ligne suivantes :
Code BASH :
sshfs#web1@192.168.1.100:/home/web1 /mnt/web1 fuse user,rw,uid=1000,gid=1000 0 0Et voila ! vous savez désormais monter un système de fichier distant sur votre propre machine, je vous laisse imaginer les avantage que l'on peut en tirer, surtout pour les réfractaires a la ligne de commande mais qui veulent conserver une certaine sécurité...heureusement, ssh est la !
Ecrit par: le furtif, Le: 12/10/08






