Articles : Administration de serveur Unix en DMZ via serveur de rebond
Posté par yannig (). Modéré le 07 mars 2008.
Dans ce qui va suivre, j'essaierai de vous présenter une technique que j'utilise pour accéder à mes serveurs via des points de montage sshfs (basé sur fuse) encapsulé dans des tunnels SSH.
Dans ce qui va suivre, je ferai des références à un ensemble de produits. Je vais en faire ici une rapide présentation :
Dans ce qui va suivre, je ferai des références à un ensemble de produits. Je vais en faire ici une rapide présentation :
- openssh (que je ne présenterai pas)
- fuse : module noyau permettant de manipuler des points de montage en tant qu'utilisateur lambda
- tsocks : bibliothèque permettant l'encapsulation des requêtes réseaux d'un programme.
- afuse : utilitaire permettant de se servir de fuse pour faire des automounts.
Automounting FUSE filesystems (linux.com) (195 hits)
Using MySQL as a filesystem (linux.com) (222 hits)
FUSE (FileSystem in UserspacE) (134 hits)
SSHFS (fuse) (177 hits)
afuse (automount fuse) (128 hits)
> Lire la dépêche (18 commentaires, moyenne: 3,6).
Vous avez demandé le commentaire #911768.




Astuces OpenSSH : le multiplexage
Bon, ça n'a pas grand chose à voir avec le contenu de la dépêche, mais puis qu'on parle d'astuces OpenSSH...
Depuis la version 4.2, OpenSSH est capable de réduire fortement le temps d'initialisation de la connexion (en éliminant le besoin de re-négociation des algos, ré-authentification, ...), car il permet de multiplexer les connexions vers un même hôte.
Les cas d'utilisations qui bénéficient typiquement de cette fonctionnalité sont ceux qui requiert des re-connexions régulières à une même machine, par exemple pour accéder à un serveur Subersion, ou CVS, ou un distcc, ou ceux qui ont l'habitude de se connecter pour lancer une seule commande à la fois (« ssh user@serveur commande »)...
Le principe est simple : on crée une connexion « maitre » initiale, celle-ci est maintenue en fond et sera réutilisée pour toutes les connexions suivantes vers le même hôte.
En pratique :
1) Placer ceci dans son ~/.ssh/config (ce fichier doit être en mode 0600) :
Host *
ControlPath ~/.ssh/mux_socket-%r@%h:%p
2) Ensuite, on crée une socket « maître » utilisée pour le multiplexage (cela crée aussi un processus ssh qui maintient cette socket, en arrière plan) vers monhotedistant:
ssh -fMN monhotedistant
Et voila ! On peut maintenant profiter de nouvelles connexions très rapides. Exemple chez moi :
# Avant la mise en place du multiplexage :
$ time ssh monserveur exit
real 0m0.530s
# Avec le multiplexage :
$ time ssh monserveur exit
real 0m0.018s
Autant dire que les opérations courantes (svn diff, log, up, ...) sur mon dépôt subversion sont beaucoup plus confortables.
Une autre astuce dont il faudrait parler : les dernières versions d'OpenSSH permettent de créer des VPN (utilisant des tunnels sur des interfaces virtuelles tun(4), à la façon d'OpenVPN) de façon très simple et ne nécessitant que OpenSSH. Je suis sûr que ça aurait pu être utilisé pour arriver à des résultats similaires à ce qui est présenté dans la dépêche, mais en n'utilisant qu'OpenSSH.