= Création d'un tunnel SSH depuis l'extérieur vers un AS = La plateforme est isolée de l'Internet. Il est cependant possible d'accéder aux machines des AS depuis l'extérieur via un tunnel SSH. Voici le nom des machines mises à contribution: ||= Nom =||= Adresse =||= Description =|| || maison || 127.0.0.1 || Ordinateur initiant la connexion depuis l'extérieur || || sphinx || sphinx.lip6.fr || Serveur d'entrée SSH dans le LIP6 || || gate-net || gate-net.rsr.lip6.fr || Passerelle d'entrée dans la plateforme || || cible || @cible (variable) || Machine sur laquelle on veut se connecter || Il faut d'abord choisir un port local pour chaque port distant sur lesquels on veut accéder. Dans cet example on veut accéder aux fonctionnalités d'un serveur !ProxMox: HTTPS (443) et VNC (5900). On va les ''mapper'' sur les ports 1900 et 1901: ||= Port local =||= Port distant =|| || 1900 || 443 || || 1901 || 5900 || La jonction se fait en deux étapes. == Tunnel entre sphinx et la cible == Le tunnel se fait entre '''sphinx''' et la machine '''cible''', en passant par '''gate-net'''. Après s'être connecté en SSH sur '''sphinx''' ''(ssh !utilisateur@sphinx.lip6.fr)'': {{{ ssh -N -f utilisateur@gate-net.rsr.lip6.fr -L 1900:@cible:443 -L 1901:@cible:5900 }}} À partir de ce moment sphinx se met en écoute sur les ports '''1900''' et '''1901'''. Cependant il ne l'a fait que localement. Il serait bien trop dangereux d'exposer ces ports à tout le monde sur Internet. On peut s'en rendre compte facilement en regardant les ports en écoute sur '''sphinx''': {{{ netstat -an | grep -i LISTEN }}} Par exemple: {{{ -bash-2.05b$ netstat -an | grep -i LISTEN tcp 0 0 127.0.0.1.5900 *.* LISTEN tcp 0 0 127.0.0.1.1234 *.* LISTEN tcp 0 0 127.0.0.1.1987 *.* LISTEN tcp 0 0 127.0.0.1.1100 *.* LISTEN tcp 0 0 127.0.0.1.5999 *.* LISTEN tcp 0 0 *.23 *.* LISTEN tcp 0 0 *.22 *.* LISTEN tcp6 0 0 ::1.5900 *.* LISTEN tcp6 0 0 ::1.1234 *.* LISTEN tcp6 0 0 ::1.1987 *.* LISTEN tcp6 0 0 ::1.1100 *.* LISTEN tcp6 0 0 ::1.5999 *.* LISTEN tcp6 0 0 *.23 *.* LISTEN tcp6 0 0 *.22 *.* LISTEN }}} On voit que sphinx écoute tout ce qui est SSH ou telnet. Le reste des ports en écoute sont probablement des tunnels SSH. == Tunnel entre la maison et sphinx == Pour ce tunnel, on va rediriger l'adresse de ''loopback'' de '''maison''' vers l'adresse de ''loopback'' de '''sphinx''' (afin que les paquets soit ensuite redirigés vers '''cible''' via le premier tunnel). Depuis '''maison''': {{{ ssh -N -f utilisateur@sphinx.lip6.fr -L 1900:localhost:1900 -L 1901:localhost:1901 }}} Ici ''localhost'' est dans le contexte de la machine '''distante''', il fait donc référence à l'adresse de ''loopback'' de '''sphinx'''. == Accéder au site web de !ProxMox == Maintenant il suffit d'accéder à l'adresse de ''loopback'' de '''maison''' avec le port lié à HTTPS: https://localhost:1900/ .