Ich habe SSH-Zugriff auf einen "öffentlichen" Server, der auch das Gateway zum Firmennetzwerk ist. Es gibt einen anderen Server im Netzwerk, auf dem local Oracle Database Server ausgeführt wird (Es ist kein Zugriff von außerhalb dieses Servers möglich, nur lokale DB-DB-Verbindungen werden akzeptiert). Und natürlich habe ich noch einen SSH-Zugriff auf diesen Server.
Gibt es eine Möglichkeit, diesen Oracle Database 11g-Server von außerhalb des Netzwerks anzuschließen? Ich frage, ob es etwas wie ssh-Tunnel-Kette gibt und wie ich sie konfiguriere. Dies kann beispielsweise für TOAD for Oracle (Oracle-Client) nützlich sein.
EDIT: Hier ist das Bild
Vielen Dank
Ja es ist möglich. Z.B. unter Linux ausführen
ssh -N -Llocalport:dbserver:dbport [email protected]
woher
Das gleiche kann unter Windows mit Plink (das mit PuTTY geliefert wird) durchgeführt werden:
plink -N -L localport:dbserver:dbport [email protected]
Führen Sie dies auf beiden Computern (Ihrem lokalen Computer und dem Server, auf den Sie Zugriff haben) aus, um die SSH-Tunnel zu verketten. Beispiel:
Verbindungsserver (Linux vorausgesetzt):
ssh -N -L1521:dbserver:1521 [email protected]
Dein PC:
plink -N -L 1521:connectionserver:1521 [email protected]
Der Eintrag tnsnames.ora muss so aussehen, als würden Sie eine lokale Datenbank ausführen, z.
prodoverssh =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(Host = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = prod)
)
)
Vielen Dank!
Ich rief zweimal ssh -N -LXXXX:server:YYYY [email protected]
an.
Zuerst habe ich angerufen
ssh -L 9998:127.0.0.1:9997 [email protected]
auf meinem PC.
Dann habe ich auf diesem Server (während der SSH-Sitzung) angerufen
ssh -L 9997:localhost:1521 [email protected]
dabei ist 192.168.105.111 der Server, auf dem Oracle ausgeführt wurde.
Also habe ich folgende Umleitung gemacht:
1521 (COMPANY Oracle SERVER)
-> 9997 (COMPANY GATEWAY SERVER)
-> 9998 (LOCAL PC)
Also habe ich auf meinem lokalen PC an Port 9998 Oracle-Zugriff!
sie können auch die -f
-Option hinzufügen, die den ssh-Befehl im Hintergrund ausführt.