Le ssh en Java, c’est pas évident

Supposons que vous fassiez du Java (ça arrive à bien des gens).
Supposons même que vous souhaitiez vous connecter à un serveur en ssh (ça aussi, ça peut arriver).
Supposons enfin que, pour des raisons qui n’appartiennent qu’à vous, vous deviez réellement tout faire dans du code Java.
Et bien vous allez galérer.
Parce que des librairies SSH gratuites en Java, il n’y en a pas des tonnes.
En fait, j’en ai vu principalement deux :

Dans les deux cas, il faut d’abord fouiller le werb à la recherche de sources de documentation, parce que les sites sont totalement démunis. Il faut aussi trouver des artefacts maven, ce qui est un peu plus facile (mvnbrowser, chaque jour je bénis ton nom). Mais il ne faut pas oublier de prendre une version de commons-logging, sans laquelle j2ssh ne marche pas (et on félicite le mauvais développeur qui a créé un demi-artefact maven).

Bon, vous vous en doutez, j’ai choisi j2ssh, essentiellement à cause de ce blog qui compare les écritures, et montre clairement à quel point j2ssh semble plus lisible.

 

Bien, maintenant, à titre d’exercice, supposons que vous souhaitez vous connecter en SSH, donc via une simple authentification par mot de passe (je sais, l’échange clé publique/clé privée est plus sécurisé, mais dans mon cas il s’agit d’une machine virtuelle hébergée sur mon serveur de développement et non visible de l’extérieur).

 

Et bien pour ça, voici les différentes étapes nécessaires.

 

D’abord, il faut créer une connexion, comme ça :

 

 

Une fois la connexion obtenue, on va pouvoir lui passer des commandes, ce qui implique cette petite méthode

 

 

Et avec cette petite méthode, vous pouvez « facilement » demander à votre serveur de vous exécuter du code

 

 

Et ça, ça marchera.
Il m’a quand même fallu quelques jours pour arriver à ce résultat, certes élégant, mais suant à configurer.
Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s