SSH-Tunneling und Portweiterleitung für die Verbindung mit MySQL hinter dem ssh-Proxy

943
Vijay Muvva

Ich habe ein MySQL in einer Maschine (C) hinter einer SSH-Proxy-Maschine (B). Ich möchte eine Verbindung zu Mysql auf C an Port 3306 unter Verwendung der Mysql-Workbench in meinem lokalen Computer (A) herstellen. Maschine B ist von Maschine A über ssh für einen Benutzer abc mit einem privaten Schlüssel zugänglich. Maschine C ist für Maschine B über ssh für den Benutzer root mit demselben privaten Schlüssel zugänglich (der Schlüssel muss weitergeleitet werden, was normalerweise geschieht, wenn ich A- ssh -> B - ssh -> C mache).

Was sollte meine Tunnelstrategie sein? Muss ich Socken-Proxy verwenden?

Vielen Dank

1
Sie wollen also von A nach C über ssh gehen, ist das richtig? Tristan Vigil vor 7 Jahren 0
Ja. Ich möchte C von A erreichen Vijay Muvva vor 7 Jahren 0

1 Antwort auf die Frage

1
eggo

Obwohl dies nicht genau übereinstimmt, sind hier einige andere eng verwandte Fragen:

  1. Zugriff auf einen SSH-Server, der keine eingehenden Verbindungen akzeptieren kann
  2. Herstellen einer SSH-Verbindung zwischen Maschinen hinter Firewalls

Um Ihr spezielles Problem zu lösen, füge ich Ihrer .ssh/configDatei auf "A" Folgendes hinzu :

Host B User abc ForwardAgent yes  Host C User root LocalForward 3306:localhost:3306 ProxyCommand ssh -A B -p 22 -W %h:%p #ProxyCommand ssh -A B -p 22 nc %h %p 

Damit sollten Sie in der Lage sein ssh C:

  • Holen Sie sich eine Shell auf C, springen Sie durch B und
  • Richten Sie einen lokalen Port (für Host A) für die MySQL-Workbench ein.

Sobald die Verbindung hergestellt ist, können Sie Ihre lokale (auf A) MySQL-Workbench auf localhost: 3306 zeigen. Wenn eine andere mysql-Instanz lokal auf A ausgeführt wird, wählen Sie in der LocalForwardKonfigurationsoption einen anderen Port aus und stellen Sie eine Verbindung dazu her.

Beachten Sie, dass der ProxyCommand zwei Optionen hat, um durch B zu springen, um zu C zu gelangen. Die Alternative wird ncanstelle der -WOption to verwendet ssh, da die -WOption nicht hinzugefügt wurde: unitl ssh Version 5.3 (IIRC).

Sie müssen keinen SOCKS-Proxy verwenden.