Question Tunnel SSH sur plusieurs sauts à l'aide de mastic


Je me trouve dans une situation où je souhaite me connecter à une machine Linux exécutant VNC (appelons-le VNCServer), qui se trouve derrière deux machines Linux consécutives, c.-à-d. Pour ssh dans le VNCServer, je dois ssh dans Gateway1 à partir de mon ordinateur portable, puis à partir du shell Gateway1 Je ssh dans le Gateway2 et puis à partir de ce shell je ssh finalement dans VNCServer. Je ne peux pas modifier la conception du réseau et le flux d'accès Laptop -> Gateway1 -> Gateway2 -> Server. Je n'ai aucun privilège root sur Gateway1 et tous les ports sauf 22 et 5901 sont fermés.

Existe-t-il un moyen par lequel je peux lancer une visionneuse VNC sur mon ordinateur portable et accéder au serveur VNC? Je comprends que cela peut être fait en utilisant les fonctionnalités de tunneling SSH et que j'ai un mastic sur mon ordinateur portable Windows (désolé, aucun ordinateur Linux, Cygwin, etc. ne peut être installé). Toute aide sera grandement appréciée, car cela me faciliterait la vie!


10
2017-12-14 13:57


origine




Réponses:


Putty prend en charge les tunnels SSH. Si vous développez l'arborescence Connexion, SSH, vous verrez une entrée pour les tunnels.

Les tunnels locaux produisent un port d’hôte local qui s’ouvre sur votre machine Windows et se connecte à l’adresse IP et au port spécifiés. Par exemple, lorsque j'essaie de créer un RDP sur un bureau chez moi, je choisis généralement un port local aléatoire, par exemple 7789, puis mets l'adresse IP locale du bureau (1.2.3.4:3389) comme télécommande. hôte. Assurez-vous de cliquer sur "Ajouter", puis "Appliquer". À ce stade, lorsque vous utilisez le protocole 127.0.0.1:7789, vous vous connectez à la version 1.2.3.4:3389 au cours de la session de mastic.

C’est là que le plaisir entre en jeu. Si vous configurez ensuite un tunnel de port sur votre boîtier intermédiaire, en configurant le port local que vous avez défini comme port distant dans le mastic, vous pourrez alors rebondir sur votre mastic, sur le boîtier intermédiaire jusqu’à votre destination finale. Vous aurez toujours besoin de faire quelques connexions ssh, mais vous serez capable de traverser vnc ou rdp directement à partir du système Windows une fois que vous êtes configuré, ce que je pense que vous cherchez à faire.

EXEMPLE

  1. Rendez-vous sur le panneau des tunnels dans Putty (Connexions-> SSH-> Tunnels accessibles depuis le menu contextuel si la session SSH est déjà active ou dans l'écran de connexion initial lorsque vous démarrez Putty).
  2. Créer un tunnel avec la source locale 15900 et la source distante 127.0.0.1:15900
  3. Connectez-vous (si ce n'est déjà fait) à Gateway1.
  4. Sur Gateway1, ssh -L 127.0.0.1:15900:VNCServerIP:5900 utilisateur @ Gateway2
  5. Une fois que ssh to Gateway2 est activé, essayez de passer à 127.0.0.1:15900 - vous devriez maintenant voir l’écran VNC de l’autre côté!

BONUS AJOUTÉ - Peu de gens le savent, mais ce processus peut également être utilisé pour proxy le trafic IPv6 / IPv4. SSH ne se soucie pas du protocole utilisé pour les tunnels, vous pouvez donc théoriquement accéder aux hôtes IPv6 uniquement à partir d'un système IPv4 uniquement, étant donné que le serveur SSH est à double pile (possède les adresses IPv4 et IPv6).


18
2017-12-14 15:46





Il existe une alternative si vous souhaitez utiliser PuTTY pour les deux sauts. Dans cet exemple, nous passons de la passerelle n ° 1 (10.0.1.123) à la passerelle n ° 2 (10.0.1.456) jusqu'au port 80 sur 10.0.1.789.

  1. Commencez par créer le saut vers la passerelle n ° 1. Commencez par configurer la connexion au premier serveur. Configurer un tunnel vers la deuxième passerelle en Connexion> SSH> Tunnels. Dans cet exemple, nous transférons le port 2222 à la deuxième passerelle.

    connect to servert

    set up tunnel

  2. Maintenant, nous allons configurer le deuxième saut. Nous allons tunnel à travers le premier passerelle vers la passerelle suivante et configurez la redirection de port sur la deuxième passerelle. La connexion est établie avec l’hôte localhost sur le port 2222. La connexion ssh s’effectue en tunnel au deuxième saut. Sur cette connexion, nous configurons un transfert de port du port 3333 vers 10.0.1.789.

    enter image description here

    enter image description here

  3. Ouvrez maintenant un navigateur et accédez à 127.0.0.1:3333 pour passer au travers des deux connexions SSH jusqu'à 10.0.1.789:80.


12
2018-01-04 15:25



Est-il possible d'obtenir le même résultat en utilisant une seule session de mastic avec deux tunnels configurés dans le menu SSH -> Tunnels? De cette manière, vous n’avez besoin que d’ouvrir une seule instance de mastic? - tareq