Cette commande permet de créer un tunnel vers un serveur caché derrière un firewall offrant une connexion SSH

ssh -N -L$port_locale:$serveur_interne:$port_serveur $login@$serveur_passerelle &

Par exemple :

  • la passerelle est gw.domain.net
  • le serveur interne offre un service HTTP sur le port 80 et s’appelle cache.domain.net
  • votre login est bob sur la passerelle est bob.
  • vous voulez accéder localement au service sur le port 8080 (ce port est libre à priori) (>1024 = evite d’avoir les droits root pour lancer la commande)

La commande est :

ssh -N -L8080:cache.domaine.net:80 bob@gw.domain.net &

maintenant dans votre navigateur si vous taper :

http://localhost:8080

vous pourrez surfer de façon sécurisée comme si vous étiez connecté en interne.

ps : Il est préférable de configurer la connexion ssh avec une authentification par clé RSA pour ne pas taper le mot de passe d’authentification.
ps2 : cette technique est applicable a bien d’autres services…