web-dev-qa-db-fra.com

Tunnel SSH sur plusieurs houblies à l'aide de mastic

J'ai une situation où je veux me connecter à une machine Linux exécutant VNC (permet de l'appeler vncserver) qui se trouve derrière deux machines de linux consécutives, c'est-à-dire à SSH dans le VNCServer, j'ai à SSH dans la passerelle1 de mon ordinateur portable, puis de la passerelle 1 I SSH dans la passerelle2 puis de cette coquille, je suis enfin SSH dans VNCServer. Je ne peux pas modifier la conception de réseau et l'accès Ordinateur portable de flux d'accès -> Gateway1 -> Gateway2 -> Serveur. Je n'ai pas de privilèges racines sur la passerelle1 et tous les ports sauf 22 et 5901 sont fermés.

Y a-t-il un moyen par lequel je peux lancer une visionneuse VNC sur mon ordinateur portable et accéder à VNCServer? Je comprends que cela pourrait être fait en utilisant des fonctionnalités de tunneling SSH et j'ai puty sur mon ordinateur portable Windows (désolé, aucun linux ni cygwin, etc. ne peut être installé sur l'ordinateur portable de travail). Toute aide sera grandement appréciée car cela rendrait ma vie si plus facile!

13
xkcd

Le mastic prend en charge les tunnels SSH, si vous élargissez la connexion, SSH Tree, vous verrez une entrée de tunnels.

Les tunnels locaux produisent une ouverture de port localhost sur votre machine Windows qui recettes vers l'adresse IP et le port que vous spécifiez. Par exemple, lorsque j'essaie de RDP à un bureau chez moi, je choisirai généralement un port local aléatoire, quelque chose comme 7789, puis mettez l'adresse IP locale du bureau (1.2.3.4:3389). Hôte. Assurez-vous de cliquer sur "Ajouter", puis "Appliquer". À ce stade, lorsque vous RDP au 127.0.0.1:7789, vous vous connectez ensuite au 1.2.3.4:3389 sur la session de mastic.

C'est là que l'amusement est entré. Si vous configurez un tunnel de port sur votre boîte intermédiaire, configurez le port local que vous avez spécifié en tant que port distant dans PUTTY, vous pouvez ensuite rebondir dans votre mastic, via la boîte intermédiaire Votre destination finale. Vous aurez toujours besoin de faire quelques connectes SSH, mais vous pourrez traverser VNC ou RDP directement depuis le système Windows une fois que vous êtes défini, ce qui vous convient de faire.

EXEMPLE

  1. Dirigez-vous vers le panneau TUnnels dans PUTTY (Connections-> SSH-> Tunnels accédés à partir du menu contextuel Si la session SSH est déjà active ou dans l'écran de connexion de début lors du démarrage du mastic)
  2. Créez un tunnel avec la source locale 15900 et la source distante 127.0.0.1:15900
  3. Connectez (si pas déjà connecté) à passerelle1.
  4. Sur Gateway1, SSH -L 127.0.0.1:15900:VNCServerip:5900 User @ gateway2
  5. Une fois que le SSH à passerelle2 est en hausse, essayez de VNC à 127.0.0.1:15900 - Vous devriez maintenant voir l'écran VNC de l'autre côté!

Ajout de bonus - Peu de gens le savent, mais ce processus peut également être utilisé également sur le trafic proxy IPv6/IPv4. SSH ne se soucie pas du protocole qu'il utilise pour les tunnels, vous pouvez donc accéder théoriquement IPv6 uniquement des hôtes IPv4 uniquement à partir d'un système IPv4 uniquement, étant donné que le serveur SSH est Dual Stack (a à la fois des adresses IPv4 et IPv6.)

19
Peter Grace

Il y a un alternatif si vous souhaitez utiliser Putty pour les deux sauts. Dans cet exemple, nous sautons de la passerelle n ° 1 (10.0.1.123) à la passerelle n ° 2 (10.0.1.456) au port 80 du 10.0.1.789.

  1. D'abord créer un hop à la passerelle n ° 1. Premier configuration de la connexion au premier serveur. Configurez un tunnel sur la deuxième passerelle dans la connexion> SSH> Tunnels. Dans cet exemple, nous transmetons le port 2222 de la deuxième passerelle.

    connect to servert

    set up tunnel

  2. Maintenant, nous allons installer le deuxième hop. Nous conduirons à travers la première passerelle à la prochaine passerelle et au transfert de ports de configuration sur la deuxième passerelle. La connexion est de localhost sur le port 2222. Cela traversera la connexion SSH en cours d'exécution au deuxième hop. Sur cette connexion, nous configurons un port vers l'avant du port 3333 à 10.0.1.789.

    enter image description here

    enter image description here

  3. Ouvrez maintenant un navigateur et accédez au 127.0.0.1:3333 et vous évitez les deux connexions SSH à 10.0.1.789:80

15
Scott