Monter un répertoire distant avec SSH

Comme je l'ai indiqué dans un précédent article, je vais bientôt mettre en place un serveur@home, c'est à dire un serveur allumé en permanence chez moi, utilisable pour plusieurs raisons, notamment l'hébergement de Génération Linux, la création d'un serveur mail perso, la gestion d'un agenda, etc.

Je découvre tous les jours les nouvelles possibilités que je pourrais mettre en place et justement, aujourd'hui, j'ai découvert cette possibilité assez pratique : monter, sur n'importe quelle machine distante, via SSH, un ou plusieurs reprtoires de mon serveur.
Explications :

I. Présentation

"Bon, ma clé USB c'est bien pour transporter mes données mais cela devient vite embêtant de toujours devoir tout re-transférer chez moi en rentrant du boulot, en plus, je risque de perdre cette clé à tout moment et je ne fais pas assez souvent mes sauvegardes". Voici la réflexion que je me suis faite cet après-midi. Avec mon serveur@home qui sera bientôt en place, je me suis dit que je devrai trouver une solution à mettre en place pour mettre un répertoire de mon serveur à ma disposition sur n'importe quelle machine distante (au travail, chez des amis, ...).

Pour cela, je voulais absolument utiliser SSH, pour des raisons évidentes de sécurité. Je sais, les puristes me diront "et scp tu connais ?". Oui je connais très bien scp et l'utilise quasi-quotidiennement mais cette fois je cherchais une solution graphique (shame on me). En gros, je me demandais s'il était possible de monter un répertoire "partagé" genre Samba mais en utilisant SSH.

J'ai donc trouvé mon bonheur et ai décidé de vous faire partager ma découverte (que certains d'entre vous connaissent déjà certainement).


II. Installation

Voici ce qu'il vous faut pour mettre en œuvre cette solution :

  • Sur le serveur : Un démon SSH (nécessite l'installation d'OpenSSH, voir ici pour la procédure d'installation)
  • Sur le client (la machine distante sur laquelle vous souhaitez monter le répertoire) : Un client SSH ainsi que le logiciel sshfs (à installer grâce à la commande suivante : apt-get install ssh sshfs)

III. Mise en place

Il n'y a rien à faire du côté du serveur, il faut juste s'assurer qu'il est accessible depuis l'extérieur et que le service SSH est bien actif. Pour le tester, vous pouvez essayer la commande suivante : ssh login@machine. Par exemple : ssh benjamin@85.53.123.234 (voir cet article pour plus de précisions).

Voici ce qu'il va falloir faire du côté du client :

Il faut créer un répertoire qui viendra accueillir le répertoire de notre serveur (comme tout point de montage). Par exemple, je vais créer un répertoire "serveur" sur mon bureau grâce à cette commande suivante :
mkdir ~/Desktop/serveur

Puis nous allons monter notre répertoire distant dans ce nouveau répertoire grâce à cette commande :
sshfs login@machine:/repertoire/a/monter /point/de/montage
par exemple : sshfs benjamin@85.53.123.234:/home/benjamin ~/Desktop/serveur

Dans mon exemple, je vais donc monter sur ma machine, dans le répertoire ~/Desktop/serveur, le répertoire /home/benjamin de mon serveur. Simple n'est-ce pas ?

Notez que les modifications que vous allez faire dans ce répertoire seront faites avec le compte de l'utilisateur que vous avez spécifié dans votre ligne de commande. Pour reprendre mon exemple, si je suis sur un ordinateur du travail avec le compte admin_sys et que je fais des modifications dans mon dossier ~/Desktop/serveur (donc /home/admin_sys/Desktop/serveur) monté ci-dessus, ces modifications seront faites avec le compte benjamin et non pas admin_sys. J'espère avoir été assez clair.


Une fois que vous avez fini d'utiliser votre répertoire, vous pouvez le démonter grâce à cette commande :
fusermount -u /point/de/montage

Si vous souhaitez vois les options plus "poussées", n'hésitez pas à lire le manuel : man sshfs

P.S. Si vous avez des applications à me faire découvrir pour un serveur@home, n'hésitez surtout pas :)

Vus : 317
Publié par Génération Linux : 126