Téléchargement
illégal
Posez votre question Signaler

[SSH Port Forward] Rediriger plusieurs ports [Résolu]

kilian 8802Messages postés 19 septembre 2003Date d'inscription 2 juillet 2011Dernière intervention - Dernière réponse le 7 nov. 2006 à 09:44
Bonjour,

Dans un réseau local avec deux machines, j'essaie de tunneler une session ftp dans une connexion ssh.

Mettons j'ai le PC1:
_IP: 10.0.0.1
_Client Ftp
_Client Ssh

Ici, je demande au lient ssh d'écouter sur localhost:21 et de rediriger les paquets vers le PC2

PC2:
_IP: 10.0.0.2
_ Serveur SSH
_Serveur FTP

Le serveur ssh reçois le forward du client ssh du pc1 pour le retransmettre sur localhost:21 (le localhost qui corespond au PC2).

Donc sur le pc1 avec mon client ftp, je me connecte sur localhost21 et grâce à ce tunnel, cette session m'emmène sur le serveur ftp du pc2.

La ligne de commande du client ssh pour forwarder ça donne:
ssh -L 21:localhost:21 10.0.0.2 -l kilian

Le premier 21 dans la ligne c'est le port que client ssh va écouter pour le rediriger.
Mon sucis c'est que le protocole ftp utilise plusieurs ports. Je me suis arrangé avec mon serveur ftp pour ne pas utiliser le port 20.
Et j'ai serré un étau sur les ports du mode passif: le serveur ftp n'écoutera que sur les ports 1025 à 1029 (enfin, normalement).

Alors j'aimerais bien rediriger une rangée de port. En gros j'aimerais faire un truc comme ça:
ssh -L 21,1025-1029:localhost:21 10.0.0.2 -l kilian


Mais ça ne fonctionne pas. Là, le client ssh ne forwarde plus rien j'ai l'impression..
Et le man ssh ne fournit pas beaucoup de renseignements là dessus.
Une idée?
Lire la suite 

[SSH Port Forward] Rediriger plusieurs ports »

9 réponses
Réponse
+0
moins plus
Ah j'ai trouvé c'est bon.
On peut cumuler les -L:

Donc pour moi ça se résumera à:
ssh -L 21:localhost:21 -L 1025:localhost:1025 -L 1026:localhost:1026 -L 1027:localhost:1027 -L 1028:localhost:1028 -L 1029:localhost:1029 10.0.0.2 -l kilian

http://www.oreillynet.com/pub/a/wireless/2001/02/23/wep.html

Avec un script shell fait maison on peut se générer une ligne de commande pour forwarder une bonne plâtrée de ports...
Ajouter un commentaire
Réponse
+0
moins plus
Merci de l'info. :-)
Ajouter un commentaire
Réponse
+0
moins plus
Merci Sabauvage, Merci Kilian merci à tous
Excusez mon ignorance


Je vous explique sommairement ma situation: Et dites moi SVP s'il y a ou non une solution à ce problème:

J'ai:

1)une machine cliente ayant l'adresse 192.168.4.21(A) avec PUTTY

2)un serveur win2003 ayant l'adresse 192.168.2.80(B) avec Cygwin/Openssh

3)un serveur de mail que j'appelle C (accessible depuis l'intranet et depuis l'extérieur).

Je veux savoir comment -à partir de A- pouvoir lire mon mail(C) en utilisant la connexion (tunnel SSH) en B.

D'abord est-ce possible? Et si oui comment.


Merci d'avance!
Ajouter un commentaire
Réponse
+0
moins plus
Voui,

La connexion sera cryptée entre le client ssh (putty) et le serveur avec cygwin. Par contre entre B et C, ça ne sera plus crypté.
Je ne sais pas comment ça se passe au niveau du réseau cygwin, donc là je ne peux pas trop t'aider.
Mais sur Putty, il faut que tu configures un tunnel pour rediriger ce qui va vers le port 110 et le port 143 (ports pop3 et imap4 pour retirer les mails) dans la boucle locale (127.0.0.1) vers le vrai serveur mail en utilisant B comme relais.
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour à tous et merci Kilian,

J'ai mis en place le tunnel et ça marche comme prévue de A à B.

j'ai pri comme port local 8080 et comme port sur la macchine C 80!
J'ai fait aussi outils/option internet/connexion/paramètres réseau/serveurb proxy et 127.0.1:8080

Le tunnel marche bien entre A et B car on ne voit plus rien quand on sniffe!!

Mais Chose etrange quand je fait un site autre que google(qui marche!!??!) j'ai une de deux chose:

1) site introuvable
2) on me redirige sur le site de C comme si je ne fais que l'adresse IP de C dans mon URL.

Alors
Est ce normal?
Est ce que ça peut être contourné surtout point 1.


Merci infiniment!!
Ajouter un commentaire
Réponse
+0
moins plus
C'est vers un serveur mail que tu veux aller ou vers un serveur web?
C c'est un proxy finalement? Je comprends plus rien....
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

En fait je me connecte à mon serveur mail en utilisant une interface web et pas un client de messagerie genre outlook.

Ce qui importe pour moi pour le moment c'est d'accéder via ssh en toute sécurité à mon mail.
La situation telle que décrite dans mon premier POST est la suivante:

Je suis sur une machine A(client SSH), j'ai un serveur SSH en B, et le serveur courrier est en C.

Je veux séxuriser seulement la portion entre A et B, celle entre B et C est réputée sûre!

Voilà
et merci de ta réponse.
Ajouter un commentaire
Réponse
+0
moins plus
Ben les tunnels que je connais sont statiques. Tu ne peux pas aller ailleurs que vers une destination précise.
Pour configurer un tunnel tu dois indiquer
_Sur quel port local le client ssh doit écouter
_Vers quel serveur ssh la connexion doit retransmise
_Ou et sur quel port le serveur ssh doit il retransmettre cette connexion?

Ce dernier point est statique.... Donc si tu veux aller sur n'importe quel site, il faut installer un proxy sur la destination vers laquelle le serveur ssh doit renvoyer la connexion.
Ajouter un commentaire
Réponse
+0
moins plus
La solution pourrait être d'installer un proxy HTTP ou un proxy SOCKS sur la même machine que ton serveur SSH, puis forwarder des ports locaux vers le serveur proxy.

Comme ça tu pourra atteindre plein de sites différents.
Ajouter un commentaire
Ce document intitulé « [SSH Port Forward] Rediriger plusieurs ports » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?