Tutorial JSch : rediriger un port local vers un tunnel SSH

Le but de ce petit tutorial est de créer un tunnel SSH et rediriger un port local non sécurisé vers celui-ci. Autrement dit, il vise à écrire en Java, et ce grâce au framework JSch, l'équivalent de la commande suivante :

ssh -i "/home/samir/.ssh/privateKey.key" -f -N username@10.10.10.10 -L 8181:localhost:80

C'est parti !

Versions utilisées

Voici les versions utilisées dans ce tutorial
JSch 0.1.45
Maven 3.0.2

Intégration du framework

Tout d'abord, il vous faut ajouter dans le pom.xml de votre application une dépendance à
JSch :

<dependency>
	<groupId>com.jcraft</groupId>
	<artifactId>jsch</artifactId>
	<version>0.1.45</version>
</dependency>

Par souci de simplicité, l'intégration Spring a volontairement été laissée de côté.

Création du tunnel

Voici les packages contenant les classes utilisées :

imports

et le code commenté associé :

Code JSch

Et voilà, notre tunnel SSH est créé!
Les requêtes arrivant sur le port local 8181 seront à présent redirigées vers l'adresse 10.10.10.10:80 via un tunnel sécurisé.

Un commentaire

  1. je n’ai personnellement jamais utilisé de tunnel SSH dans le code. Pourrais-tu me donner un cas d’utilisation?

    merci

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.