Chez iXmédia, nous travaillons avec Samba pour gérer les fichiers des sites que nous développons et hébergeons. C’est bien pratique pour les serveurs où chaque site tourne sur un processus Apache avec un utilisateur distinct. Pas de problèmes avec les permissions des fichiers qu’on aurait si on les gérait via SSH.
Cependant, lorsque je veux travailler de chez moi, je ne peux monter ces shares sur mon poste car ils ne sont accessibles que sur notre réseau local. Il m’est tout de même possible de me connecter à ce réseau via SSH. C’est donc via un tunnel SSH que je peux monter des shares distants sur mon poste local.
Suffit de se connecter en SSH sur le serveur remote en établissant deux tunnels :
sudo ssh -L 139:serveur_distant:139 -L 445:serveur_distant:445 utilisateur@serveur_distant
De cette façon, les requêtes (faites sur le poste local) à localhost sur les ports 139 et 445 seront redirigées vers serveur_distant. On peut donc monter le share dans notre dossier utilisateur :
mkdir ~/Volumes/nom_du_share; mount_smbfs //utilisateur@localhost/nom_du_share ~/Volumes/nom_du_share
Le share peut ensuite être démonté avec la commande suivante :
umount ~/Volumes/nom_du_share
Et voilà, c’est aussi simple que ça!
P.S. - Merci à ce billet en anglais pour les informations.


