|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : avril 2009 Messages : 11 ![]() |
Bonjour,
J'essaie en vain de faire du SSH multi tunnel avec redirection de port. Je dois récupérer des fichiers sur un serveur unix (que j'appelerai serveur 3) via mon poste local (sous windows que j'appelerai workstation) et entre les deux se trouve deux autres serveurs par lesquels je dois obligatoirement passer en m'identifiant (appelé serveur 2 et 3). J'ai donc: Workstation => serveur1 => serveur 2 => serveur 3 Les données à rapatrier sur workstation se trouvant sur le serveur 3. J'ai réussi à faire un tunnel ssh avec forwarding de port dans la configuration suivante : Workstation => serveur1 => serveur 2 Mais je ne trouve pas la solution pour aller jusqu'au serveur 3. J'utilise des .bat qui lance le logiciel plink qui monte donc le tunnel et envoi la commande scp pour récupérer les données. Cependant impossible de trouver comment faire du multi tunneling jusqu'au server 3. Le peu de sujet sur internet sont souvent peu claire Quelqu'un s'y connait et peut m'aider? Cordialement, Tino |
|
|
00
|
|
|
#2 |
|
Invité de passage
![]() Inscription : avril 2009 Messages : 11 ![]() |
Bonjour,
Personne pour m'éclairer ? Cordialement, Tino |
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() |
Je pense qu'il te faut commencer par la fin :
tu fais un tunnel du serveur 1 (port x) en te connectant sur le serveur 2 avec redirection sur le 3 (port y) puis un tunnel de ton poste vers le serveur 1 avec redirection sur le port x ? |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : avril 2009 Messages : 11 ![]() |
Bonjour,
Aurais-tu un exemple de syntaxe de commande concernant la technique que tu as donné? Je n'ai pas réussi pour l'instant Merci par avance ![]() Tino |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : avril 2009 Messages : 11 ![]() |
Bonjour,
Dans le cas du Workstation => serveur1 => serveur 2 Je lance un .bat sur la workstation avec d'une part : Plink.exe -batch -ssh -P 22 -l monlogin -pw monpassword -N -L 5555:@srv2:22 @srv1 Puis je fais un scp : winscp407.exe /console /command "option batch continue" "option confirm off" "option echo off" "open scp://monlogin:monlogin@127.0.0.1:5555" "get /un_fichier" Ce fonctionnement est OK mais je n'ai pas réussi à le compléter pour aller jusqu'au serveur 3 Le but serait de lancer un .bat qui va chercher un fichier sur le serveur 3. Merci pour le temps qui m'est consacré ![]() Cordialement, Tino |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() |
En relisant ta question et ton exemple, je me suis rendu compte que je me suis fourvoyé ! La solution est toute simple, pas besoin de se prendre la tête comme je le faisais (et qui n'aurait pas marché de toute façon...
Actuellement, tu ouvres un tunnel entre ton port 5555 et le port 22 de srv2, tu as donc accès à srv2 : Code :
Plink.exe -batch -ssh -P 22 -l monlogin -pw monpassword -N -L 5555:@srv2:22 @srv1 Code :
Plink.exe -batch -ssh -P 5555 -l monlogin2 -pw monpassword2 -N -L 5556:@srv3:22 localhost Ton scp devrait marcher : Code :
winscp407.exe /console /command "option batch continue" "option confirm off" "option echo off" "open scp://monlogin:monlogin@127.0.0.1:5556" "get /un_fichier" |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : avril 2009 Messages : 11 ![]() |
Ok, donc si j'enlève l'option -batch dans le deuxième plink.exe l'option me demandant si je veux sauvegarder le serveur dans le registre apparait. Reste à voir pourquoi le fichier est pas rapatrié, une fenêtre s'ouvre et se referme très rapidement sans que j'ai le temps de lire ce qui y est affiché |
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : avril 2009 Messages : 11 ![]() |
Ca fonctionne
J'avais juste encore un soucis d'arborescence par rapport au fichier que je voulais récupérer ![]() Par contre je dois avouer avoir du mal à comprendre dans les détails comment tout ça fonctionne Mille merci en tout cas ![]() Tino |
|
|
00
|
|
|
#9 |
|
Membre Expert
![]() |
Pas trop le temps de faire un dessin (peut-être plus tard), je tente de réexpliquer :
1) Tu ouvres un tunnel entre le port 5555 de ton propre PC vers le port 22 du serveur 2 (en utilisant une connexion SSH entre ton propre PC et le serveur 1 qui a accès au serveur 2). Code :
Plink.exe -batch -ssh -P 22 -l monlogin -pw monpassword -N -L 5555:@srv2:22 @srv1 -P 22 > facultatif: indique le port de connexion -l monlogin > indique le login à utiliser sur le serveur 1 -pw monpassword > indique le password à utiliser sur le serveur 1 -N > facultatif : n'ouvre pas de shell -L 5555:@srv2:22 > créé un tunnel entre ton port Local 5555 (-L comme Local) et le port 22 du serveur srv2 @srv1 > adresse du serveur sur lequel tu te connectes 2) Grâce à ce tunnel, le port 5555 de ton propre PC "devient" le port 22 du serveur 2. Ainsi, en te connectant au port 5555 de ton PC, c'est comme si tu te connectais au port 22 du serveur 2. Code :
Plink.exe -batch -ssh -P 5555 -l monlogin2 -pw monpassword2 -N -L 5556:@srv3:22 localhost -P 5555 > nécessaire cette fois-ci : comme on utilise le tunnel, il faut se connecter au port 5555 de ton propre PC, tu indiques ici le port et plus loin ton propre PC (par le mot localhost) -l monlogin2 > indique le login à utiliser sur le serveur 2 -pw monpassword2 > indique le password à utiliser sur le serveur 2 -N > facultatif : n'ouvre pas de shell -L 5556:@srv3:22 > créé un tunnel entre ton port Local 5556 (-L comme Local) et le port 22 du serveur srv3 (il faut utiliser un numéro différent de 5555 puisque ce port est déjà utilisé par ta première connexion, d'où 5556) localhost > adresse du serveur sur lequel tu te connectes, ici, localhost = ton propre PC car tu te connectes par le tunnel (et tu indiques donc l'entrée du tunnel, soit le port 5555 de ton PC) Tu as donc maintenant un tunnel ouvert entre le port 5556 de ton PC et le port 22 du serveur srv3, et le port 5556 de ton propre PC "devient" le port 22 du serveur 3 : tu peux donc utiliser winscp : Code :
winscp407.exe /console /command "option batch continue" "option confirm off" "option echo off" "open scp://monlogin:monlogin@127.0.0.1:5556" "get /un_fichier" |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com