Question: comment accéder à son serveur SSH depuis son boulot quand des firewalls bloquent les accès au port 22?
Réponse: en utilisant du port forwarding!
Préliminaire
Avant toute chose, définissons quelques adresses qui vont être utilisées dans cet article:
- monserveur: adresse du serveur SSH
- ent_proxy: adresse du proxy de l’entreprise. Ce proxy écoute sur le port 3128
- Côté serveur, on va ouvrir le port 443 et le rediriger vers le port SSH (22).
- Côté client, on va utiliser le proxy de l’entreprise (qui ferme le port 22) et créer un tunnel entre un port local (8888) et le port 443 de notre serveur.
HttpTunnel
Chez soi, il faut commencer par installer un petit « routeur » qui va rediriger tous les flux entrants par un port vers un autre. Son nom: httptunnel.
Donc, on commence comme pour n’importe quel paquet:
-
apt-get install httptunnel
Ensuite, la commande est la suivante:
-
hts -F localhost:22 <PORT>
où PORT est le port « forwardé ».
La plupart des firewalls d’entreprise permettent à leurs collaborateurs de surfer sur le web… donc ouvrent les ports HTTP (80) et… HTTPS (443)! Profitons-en est passons par un de ces ports!
Côté Serveur
Chez moi, le port 80 est déjà utilisé. Je prends donc le second port pour ruser le firewall. Soit donc:
-
hts -F localhost:22 443
Ca y est, le port 443 est maintenant routé vers le port SSH côté serveur.
Maintenant, il ne reste plus qu’à expliquer au client SSH qu’il doit se connecter au port 443 et non plus au port 22.
Côté Client
Côté client, il faut lancer également httptunnel pout que ça fonctionne.
Le client Windows se trouve là.
Avant toute connexion, il va falloir le lancer:
-
htc -P ent_proxy:3128 -F 8888 monserveur:443
Ensuite, il ne reste plus qu’à établir la connexion SSH:
-
ssh -L 22:monserveur:443 -p 8888 localhost -l <user>
où user est mon utilisateur SSH (côté serveur).
Et voilà, on peut désormais faire de l’administration depuis le boulot!




Commentaires
Ecrire un commentaire Trackback