Un tunnel sous le web

Par Peck le 13 juin 2007, 19:22
Niveau : Cliquer ici pour agrandir Cliquer ici pour agrandir Cliquer ici pour agrandir Cliquer ici pour agrandir Cliquer ici pour agrandir
Résumé : hts ; htc ; ssh-https-tunnel

Comme beaucoup de monde, vous êtes coincé 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.

Heureusement, il sait que le web est bon et vous autorise à le parcourir, mais seulement sous la garde d'un proxy. C'est la 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

Code:
$ hts -F localhost:22 8080
Côté client

Code:
$ htc -F 1022 -P proxy.local.net:3128 ma.machine.net:8080
Et voila, le port 1022 sur la machine locale est automatiquement redirigé vers le port 22 de ma.machine.net :

Code:
$ 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 sur ce port).

Code:
   $ 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. À suivre ...

source : http://linux-attitude.fr/post/Un-tunnel-sous-le-web