Comment accéder à une machine distante grâce à votre serveur ssh (Partie 1) ?

By | August 21, 2017

Il y’a quelques semaines, je vous introduisais au concept des tunnels SSH créés à partir d’un Port Forwarding (redirection de port).
Les avantages liés à ce concept sont nombreux: le contournement de proxy, la sécurisation de votre trafic local, etc.

Aujourd’hui, nous verrons comment créer un tunnel SSH grâce à un Port Forwarding local pour accéder à une machine distante.
Cette méthode nous permettra d’encapsuler n’importe quel type de protocole dans une simple connexion ssh.
Grâce à cette technique, votre serveur ssh fonctionnera comme un vpn et même si votre trafic local etait surveillé, l’on ne verrait que des connexions ssh.

Comme démonstration, nous essayerons d’accéder via rdp (avec le programme rdesktop) une machine Windows située dans un réseau différent.


Pour ce faire, nous utiliserons la syntaxe suivante:

$ ssh -L port-local:ip-serveur-distant:port-serveur-distant utilisateur@ip-serveur-ssh

-L est utilisé ici pour préciser le port local à partir duquel les requêtes seront redirigées.

La commande présentée dans l’image ci-dessus se traduit comme suit:
Toute requête vers le port 3389 sur la machine locale sera reacheminée vers l’adresse 192.168.2.47 au port 3389 via le serveur ssh 192.168.1.12.

Lançons à présent rdesktop.
Notez que rdesktop lance par défaut toutes ses requêtes vers le port 3389 (protocole rdp).

$ rdesktop 127.0.0.1

Dans l’image ci-dessous, on constate que le service ssh est bien à l’écoute sur le port 3389. Une connexion s’est également établie entre le programme rdesktop et le service ssh de la machine locale.

Après l’exécution de cette commande, nous accédons automatiquement à la machine Windows distante.

Toutes les connexions rdp seront dès lors encapsulées dans le protocole ssh.

Cette méthode peut être adaptée à plusieurs protocoles tels que le ftp, le http, le smtp, etc.

Dans un prochain article, nous verrons comment créer un tunnel SSH grâce à un Port Forwarding distant.

mdestroy

2 thoughts on “Comment accéder à une machine distante grâce à votre serveur ssh (Partie 1) ?

  1. propositionjoe

    Salut,
    J’ai une question:
    Qui fournit l’adresse exacte du serveur final? C’est à dire est-ce que c’est le serveur intermédiaire (qu’on suppose être sur le réseau local) qui donne ses dns?

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *