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?
Configuration: Debian testing
Openssh