PuTTY SSH-Tunnelportweiterleitung über den Verwaltungsserver mit privatem Schlüssel

585
Nikolai

Ich werde versuchen, so detailliert wie möglich zu sein.

Ich versuche, eine Verbindung zu einem Server herzustellen, auf dem ActiveMQ ausgeführt wird, und ich möchte den Port 8161 an Port 8162 auf meinem lokalen Computer weiterleiten, um Probleme beim Ausführen einer lokalen Instanz von ActiveMQ auf meinem Computer zu vermeiden.

Um auf den ActiveMQ-Server zuzugreifen, muss ich mich jedoch zuerst mit dem Verwaltungsserver verbinden, der mir den Zugriff auf das Netzwerk ermöglicht.

Sowohl auf dem Management-Server als auch auf dem ActiveMQ-Server befindet sich mein öffentlicher Schlüssel für die Authentifizierung auf diesen Servern mit meinem privaten Schlüssel.

Ich verwende Pageant, um das Passwort für den privaten Schlüssel nicht immer eingeben zu müssen.

Pfad: Lokaler Computer -> Verwaltungsserver -> ActiveMQ-Server

Da ich viele andere Server auf diese Weise verwalten und überwachen muss, habe ich ein Batch-Skript geschrieben, um auf alle diese Server direkt mit meinem privaten Schlüssel zuzugreifen. Daher würde ich dies natürlich mit einem Skript tun wollen. Andererseits stellen meine Kollegen nur gelegentlich eine Verbindung zu einigen dieser Server her und möchten eine GUI - in diesem Fall PuTTY - verwenden, um auf sie zuzugreifen.

TL; DR

Portweiterleitung über den Jumpserver (SV_B) für Port 8161 auf dem Zielserver (SV_C) an den lokalen Computer (LM) an Port 8162 unter Verwendung des privaten Schlüssels zur Authentifizierung sowohl von SV_B als auch von SV_C mit PuTTY in CLI und GUI.

LM: 8162 -> SV_B -> SV_C: 8161

AKTUALISIEREN

Ich habe den GUI-Teil zum Laufen gebracht:

  • Sitzung: Hostname / IP-Adresse = [Management Server]; Port = "22"
  • Verbindung-> Daten: Auto-Login-Benutzername = "root"
  • Verbindung-> SSH: Remote-Befehl = "ssh -L 8162: localhost: 8161 [AMQ-Server]"
  • Verbindung-> SSH-> Auth: Agentenweiterleitung zulassen
  • Verbindung-> SSH-> Tunnel: Quellport = 8162; Ziel = localhost: 8162

Die Frage ist nun, wie kann ich das in einen Befehl übersetzen, den ich in einem Skript mit der Datei putty.exe verwenden kann

0

1 Antwort auf die Frage

0
Nikolai

Okay, ich bekam endlich den Befehl zu arbeiten:

plink.exe -ssh -A -L 8162:localhost:8162 root@SV_B ssh -L localhost:8162:localhost:8161 root@SV_C