[SSH Port Forward] Rediriger plusieurs ports

Résolu/Fermé
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 - 16 mars 2006 à 08:47
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 - 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?
A voir également:

9 réponses

kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
16 mars 2006 à 09:49
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...
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
16 mars 2006 à 10:35
Merci de l'info. :-)
0
maestro1303 Messages postés 37 Date d'inscription mardi 18 juillet 2006 Statut Membre Dernière intervention 7 décembre 2019 1
31 oct. 2006 à 18:48
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!
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
2 nov. 2006 à 18:23
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
maestro1303 Messages postés 37 Date d'inscription mardi 18 juillet 2006 Statut Membre Dernière intervention 7 décembre 2019 1
3 nov. 2006 à 11:51
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!!
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
4 nov. 2006 à 21:43
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....
0
maestro1303 Messages postés 37 Date d'inscription mardi 18 juillet 2006 Statut Membre Dernière intervention 7 décembre 2019 1
5 nov. 2006 à 20:34
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.
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
6 nov. 2006 à 20:35
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.
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
7 nov. 2006 à 09:44
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.
0