preload preload preload preload

Créer un tunnel SSH en ligne de commande


Le vendredi 23 mars 2012 par madpellzo Linux Aucun commentaire

Cet article vous présente comment monter un tunnel SSH en ligne de commande avec votre Linux préféré.

Le context : nous avons accès a un serveur uniquement en SSH, tous les autres port sont fermés :-( Malgré tout, nous souhaitons accèder au serveur Apache qui tourne dessus.

Pas de panique ! Le tunnel SSH va vous sauver la vie :-)

Voici la syntaxe de la commande :

ssh -N -f -L{port TCP local}:host:{port TPC distant} user@host

Quelques explications sur les options :
-N : indique au client SSH de ne pas exécuter de commande sur le serveur distant
-f : lance la commande en tâche de fond (optionnel)
-L{port TCP local} : port TCP que vous allez ouvir en local sur votre machine. Attention, ce port TCP doit être libre sur votre machine locale.
host : hostname de la machine sur laquelle vous voulez atteindre le port souhaité (celà peut être localhost ou un autre host si le serveur SSH ne vous sert que de passerelle)
{port TCP distant} : port TCP que vous voulez atteindre
user : utilisateur unix avec lequel vous vous connecter au serveur SSH
host : adresse IP ou DN du serveur SSH

Voici un exemple de commande :

ssh -N -f -L10080:localhost:80 user@server_ssh

Vous avez donc monté un tunnel SSH depuis le port 10080 sur votre machine, vers le port 80 en localhost sur le serveur SSH.

Pour atteindre le serveur Apache, qui tourne donc sur le port 80 de votre serveur distant (le serveur SSH), il suffit d'appeler cette URL dans votre navigateur préféré :

http://localhost:10080

Et hop ! Vous voilà embarqué dans votre tunnel SSH à destination du serveur Apache de votre serveur SSH, magique non ?
 

Mots clés : ssh tunnel