IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau Discussion :

Multi tunneling SSH


Sujet :

Réseau

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 11
    Points : 2
    Points
    2
    Par défaut Multi tunneling SSH
    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

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Personne pour m'éclairer ?

    Cordialement,
    Tino

  3. #3
    Membre chevronné

    Homme Profil pro
    Responsable projets techniques
    Inscrit en
    Février 2003
    Messages
    980
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable projets techniques
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2003
    Messages : 980
    Points : 1 894
    Points
    1 894
    Par défaut
    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

    ?

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    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

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    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

  6. #6
    Membre chevronné

    Homme Profil pro
    Responsable projets techniques
    Inscrit en
    Février 2003
    Messages
    980
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable projets techniques
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2003
    Messages : 980
    Points : 1 894
    Points
    1 894
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    Plink.exe -batch -ssh -P 22 -l monlogin -pw monpassword -N -L 5555:@srv2:22 @srv1
    Il suffit alors d'ouvrir un nouveau tunnel entre un autre port local (5556 par exemple), et le port 22 de srv3 puisque tu y as accès grâce à srv2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Plink.exe -batch -ssh -P 5555 -l monlogin2 -pw monpassword2 -N -L 5556:@srv3:22 localhost
    (ici, on met localhost puisqu'on se connecte à srv2 par le port 5555 ouvert précédemment...)

    Ton scp devrait marcher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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"

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    • Hello,
    • J'ai bien modifié mes scripts comme indiqué mais une erreur apparait :
    • The server's host key is not cached in the registry. You
    • have no guarantee that the server is the computer you
    • think it is.
    • The server's type_de_cryptage key fingerprint is:
    • Type nb_debits la_clé_de_cryptage
    • Connection abandoned.
    • Appuyez sur une touche pour continuer...
    • Il y a une déclaration de serveur à faire dans un fichier ou un truc du genre ?
    • Bonne journée,
    • Tino


    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é

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 11
    Points : 2
    Points
    2
    Par défaut
    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 J'ai essayé de me faire un schéma avec les différents serveurs et la workstation ainsi que les ports et les flux mais j'ai du mal Si jamais quelqu'un a la motivation de schématiser ce qui se passe

    Mille merci en tout cas

    Tino

  9. #9
    Membre chevronné

    Homme Profil pro
    Responsable projets techniques
    Inscrit en
    Février 2003
    Messages
    980
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable projets techniques
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2003
    Messages : 980
    Points : 1 894
    Points
    1 894
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    Plink.exe -batch -ssh -P 22 -l monlogin -pw monpassword -N -L 5555:@srv2:22 @srv1
    -batch -ssh > facultatif ? : aucune idée de ce que ça fait et pas cherché à comprendre sans doute pour dire que c'est dans un batch (pas d'interaction ?) et que tu te connectes en ssh...
    -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 : Sélectionner tout - Visualiser dans une fenêtre à part
    Plink.exe -batch -ssh -P 5555 -l monlogin2 -pw monpassword2 -N -L 5556:@srv3:22 localhost
    -batch -ssh > idem
    -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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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"
    open scp://monlogin:monlogin@127.0.0.1:5556 > ouvre la connexion en utilisant l'adresse 127.0.0.1 (soit localhost) et le port 5556 ce qui redirige la connexion vers le port 22 du serveur srv 3

Discussions similaires

  1. Controle distant : VPN ou tunnel SSH?
    Par Bowen dans le forum Sécurité
    Réponses: 6
    Dernier message: 02/11/2007, 16h23
  2. Réponses: 6
    Dernier message: 02/08/2007, 13h11
  3. Un tunnel ssh entre un serveur linux et un poste winXP
    Par irnatene dans le forum Réseau
    Réponses: 5
    Dernier message: 23/10/2006, 10h11
  4. Transferts de fichiers FTP via tunnel SSH
    Par Jiraiya42 dans le forum Réseau
    Réponses: 9
    Dernier message: 30/05/2006, 14h11
  5. Tunnel SSH non reconnu depuis Windows
    Par D@rKness74 dans le forum Développement
    Réponses: 2
    Dernier message: 03/05/2005, 12h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo