Obwohl dies nicht genau übereinstimmt, sind hier einige andere eng verwandte Fragen:
- Zugriff auf einen SSH-Server, der keine eingehenden Verbindungen akzeptieren kann
- Herstellen einer SSH-Verbindung zwischen Maschinen hinter Firewalls
Um Ihr spezielles Problem zu lösen, füge ich Ihrer .ssh/config
Datei 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 LocalForward
Konfigurationsoption 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 nc
anstelle der -W
Option to verwendet ssh
, da die -W
Option nicht hinzugefügt wurde: unitl ssh Version 5.3 (IIRC).
Sie müssen keinen SOCKS-Proxy verwenden.