Niveau :      
Résumé : hts ; htc ; ssh-https-tunnel

Comme beaucoup de monde, vous êtes coincés au boulot et vous aimeriez bien accéder en ssh chez vous. Heureusement votre patron pense à votre sécurité et vous empêche d'accéder au dangereux protocole ssh.

Mais il sait que le web est bon et vous autorise à le parcourir, mais seulement sous la garde d'un proxy. C'est là que votre foreuse entre en jeu. Tout d'abord un bon principe sur internet : un protocole reste ce qu'il est, c'est-à-dire une couche sous une autre et sur une autre. Ce qui veut dire qu'avec un peu d'effort il est possible de faire passer n'importe quel protocole sur n'importe quel autre.

Httptunnel

Commençons par le plus simple, le paquet httptunnel. Il contient 2 outils, un client et un serveur qui transformeront toute connexion TCP en protocole HTTP. On peut ainsi traverser les firewalls et la plupart des proxy et y faire passer notre connexion ssh typique.

Sur le serveur, il va falloir écouter sur un port "acceptable" par votre proxy, par exemple le 8080

$ hts -F localhost:22 8080

Côté client

$ htc -F 1022 -P proxy.local.net:3128 serveur.machine.net:8080

Et voila, le port 1022 sur la machine locale est automatiquement redirigé vers le port 22 de serveur.machine.net. Testons :

$ ssh -p1022 localhost

ssh-https-tunnel

Si votre proxy refuse les connexions http mais accepte les connexions https, le script suivant vous permettra de vous connecter à travers un tel proxy directement sur un serveur ssh ouvert sur le port 443 (vous ferez écouter votre serveur ssh directement sur ce port).

$ HTTP_PROXY=http://proxy.local.net:8080 ./ssh-https-tunnel ma.machine.net 443

Et voila, vous êtes connectés.

De nombreux autres systèmes de tunnels sont disponibles en fonction de vos contraintes.

PS : C'est à vous de savoir si vous avez le droit de faire ceci au boulot ou non. PS2: S'il y a un IDS sur votre réseau, lisez les commentaires