Forum Linux.général Faire un tunnel HTTP pour SSH

Posté par  (site web personnel) .
Étiquettes : aucune
0
10
sept.
2004
Hello tous !

Bon, j'ai un petit problème qui va surement paraitre tout con à certains.

J'aimerai pouvoir me connecter sur mon ordinateur en SSH à partir de mon université.

Bien sur mon université à un proxy qui n'accepte que le port 80 http.

j'ai essayé le logiciel httptunnel que j'ai lancé sur mon pc à la maison de cette manière :

hts -F localhost:22 80

à l'université j'ai lancé la commande suivante :

htc -P proxy_uni:80 -F 22 mon_ip_chez_moi:80

ça ne marche pas du tout le probleme. le serveur http se lance correctement et reste dans la mémoire ram chez moi, par contre le client ne reste pas du tout dans la mémoire, semble quitter immédiatement sans aucune erreur (est-ce un comportement normal ???).

est-ce que certains qui ont réussi à mettre en place un tunnel peuvent m'expliquer (pour mon cas si possible) ?
si vous avez une autre solution, n'hésitez pas à m'expliquer vos techniques...

Merci !
Nicolas.
  • # Pb de droits

    Posté par  . Évalué à 6.

    Salut,

    Sous un Unix (come Linux), il faut avoir les droits root pour pouvoir ouvrir des ports <1024.
    Chez toi, avec ta commande hts, tu ouvres le port 80, ce qui fonctionne parce que tu dois lancer cette commande en root.

    En revanche, à ton université, tu essaies d'ouvrir le port 22 sur le serveur où tu es connecté, ce que tu n'as pas le droit de faire (d'autant que ce port est certainement déjà utilisé par le serveur SSH local).

    La solution est de préciser un autre port XXXX au dessus de 1024 (et non déjà utilisé sur ton serveur !)
    Ensuite tu te connectes chez toi en tapant :
    ssh -p XXXX user@localhost.

    Si tu veux mon avis, tu devrais également utiliser un port différent pour la partie serveur chez toi (hts). Ainsi hts serait lancé avec les droits d'un simple utilsateur, plutôt qu'avec les droits root. Il y a de grandes chances que le proxy de ton université autorise aussi le port 8080 (voire d'autres, à essayer ...)

    Tout ça marche plutôt bien (je le fais à mon taf), même si c'est un peu plus lent qu'une connexion directe.

    A+
    JJED
    • [^] # Re: Pb de droits

      Posté par  (site web personnel) . Évalué à 2.

      merci pour votre réponse, par contre je n'ai pas l'impression que c'est un probleme de droit (lorsque je lance htc il ne reste pas en mémoire, que je sois en root ou pas).

      je vérifierai ce soir.
      • [^] # Re: Pb de droits

        Posté par  . Évalué à 3.

        Si si, jjd a raison. Tu ne peux lancer htc ainsi sans être root pour utiliser le port 22 sur ta machine à l'université.
        Essaie plutôt:

        htc -P proxy_uni:80 -F 2222 mon_ip_chez_moi:80

        puis

        ssh -p 2222 toiathome@localhost
      • [^] # Re: Pb de droits

        Posté par  . Évalué à 3.

        Lorsque tu lances
        htc -P proxy_uni:80 -F 22 mon_ip_chez_moi:80
        sur ta machine cliente tu essaies d'ouvrir le port local 22. Ça ne peut pas marcher si une des deux conditions suivantes est remplie :
        - tu n'est pas root
        - le port local 22 est déjà utilisé (ce qui est le cas s'il y a un serveur SSH sur ta machine à l'université)

        Dans ces 2 cas, htc n'affiche rien mais ne se lance pas. Il n'y a apparemment aucune différence avec un lancement réussi. Pour voir si htc s'exécute bien, il faut faire un ps et/ou vérifier les ports ouverts avec 'netstat -tlp'.

        En résumé, je te conseille de faire :
        - sur ta machine perso
        hts -F localhost:22 8080
        vérification de l'ouverture du port 8080 avec 'netstat -tlp'

        - sur la machine de l'université :
        htc -P proxy_uni:80 -F 2222 mon_ip_chez_moi:8080
        vérification de l'ouverture du port 222 avec 'netstat -tlp'
        connexion : 'ssh -p2222 -l user localhost'


        JJD
  • # Utiliser HTTPS

    Posté par  (site web personnel) . Évalué à 2.

    Si ton proxy te permet d'accéder au https, alors il suffit de lancer un serveur ssh chez toi sur ce port et d'utiliser un client ssh qui supporte ton proxy (genre utilise la commande CONNECT).

    Comme le proxy n'interpréte pas le traffic https, ça marche très bien et il laisse passer le traffic ssh...
    • [^] # Re: Utiliser HTTPS

      Posté par  . Évalué à 1.

      > Comme le proxy n'interpréte pas le traffic https, ça marche très bien et il laisse passer le traffic ssh...

      mmh j'ai comme un doute, il faut tout de même encapsuler ton traffic ssh dans du https justement !
      • [^] # Commentaire supprimé

        Posté par  . Évalué à 2.

        Ce commentaire a été supprimé par l’équipe de modération.

  • # pas de message d'erreur

    Posté par  (site web personnel) . Évalué à 2.

    > le client ne reste pas du tout dans la mémoire, semble quitter immédiatement
    > sans aucune erreur (est-ce un comportement normal ???).

    Essaye

    strace htc -P proxy_uni:80 -F 22 mon_ip_chez_moi:80

    pour le diagnostique. (D'une manière générale, strace est très pratique pour comprendre pourquoi un programme plante quand on n'a pas de message d'erreur explicite ...)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.