Créer un tunnel SSH

De Wiki Label[i]
Aller à : navigation, rechercher


Un tunnel SSH vous permet de faire transiter des paquets à travers votre connexion SSH.

À quoi ça sert ?

Cela servira a accéder à une ressource qui n'est accessible seulement sur le serveur local, ou encore, accéder à un contenu distant à via le serveur

Exemples de contexte

Accès bridé

Je suis sur un réseau qui autorise le port 22 (ssh) mais il ne m'autorise pas les ports dont j'ai besoin. Le tunnel SSH me donne la possibilité d'accéder aux ports bloqués sur ma connexion actuelle.

Accès surveillé

Je suis sur un réseau qui autorise le port 22 (ssh) mais celui-ce est compromis ou sous surveillance. En utilisant un tunnel SSH, mes paquets seront chiffrés grâce à la connexion en SSH.

Accès distant à une ressource locale

Je suis sur un réseau ouvert et j'ai besoin de travailler sur un serveur dont le seul port ouvert est le 22. Ce serveur a une base de données ouverte en localhost:2424, en utilisant le tunnel, je vais pouvoir travailler à distance sur la base de données de ce serveur

Comment configurer un tunnel SSH ?

Linux / Mac OS

ssh -f serveurssh.net -L port_local:adresse_ressource:port_distant -N

Les options

  • -f : permet de lancer le tunnel ssh en background (sinon on switch dessus et ce n'est pas pratique)
  • -N : empêche d'exécuter les commandes sur le serveur distant (oui on ne cherche pas à ce connecter en ssh mais d'y établir une connexion pour une autre utilisation)

Exemple d'utilisation (accès bridé/surveillé)

  • J'ai besoin de me connecter sur le serveur labeli.org et d'accéder au port 8080.
  • Je possède un serveur SSH dont l'adresse est vps001.ovh.net et dont le nom d'utilisateur est admin
  • J'ai besoin d'y accéder en local sur le port 80
ssh -f admin@vps001.ovh.net -L 80:labeli.org:8080 -N

Exemple d'utilisation (accès distant à une ressource locale)

  • J'ai un serveur qui fait tourner une base de données en local sur le port 2424
  • Je dispose d'un accès ssh à ce serveur (borderhost.emi.u-bordeaux.fr) et mon nom d'utilisateur est : obiwan
  • Pour rester dans une certaine logique, j'ai besoin d’accéder en local sur le port 2424
ssh -f obiwan@borderhost.emi.u-bordeaux.fr -L 2424:localhost:2424 -N