Wie kann ich auf Oracle Database 11g-Server über SSH-Tunnel Kette (Doppeltunnel, Server in Firmennetzwerk) verbinden?

StackOverflow https://stackoverflow.com/questions/3653788

Frage

Ich habe SSH-Zugriff auf ‚öffentlich‘ Server, das Firmennetz auch das Tor ist. Es gibt einen anderen Server im Netzwerk, wobei lokaler Oracle-Datenbank-Server ausgeführt wird (kein Zugriff von außerhalb dieses Servers ist, nur localhost DB-Verbindungen werden akzeptiert). Und natürlich habe ich eine andere SSH-Zugriff auf diesen Server.

Gibt es eine Möglichkeit zu diesem Oracle Database 11g Server von außerhalb des Netzwerks zu verbinden? Ich frage, ob es so etwas wie ssh Tunnelkette ist, und wie ich es konfigurieren. Dies kann sehr nützlich zum Beispiel für TOAD for Oracle (ORACLE Client).

EDIT: Hier image

alt text Dank

War es hilfreich?

Lösung

Ja, es ist möglich. Z.B. auf Linux, run

ssh -N -Llocalport:dbserver:dbport yourname@connectionserver

Dabei steht

  • LokalerAnschluss ist der Port auf Ihrem Rechner, die weitergeleitet wird (kann 1521 sein, wenn es keine lokale Instanz von Oracle Laufen ist)
  • dbserver ist der Name oder die IP-Adresse des Datenbankservers
  • DBPort ist der Hafen von der Datenbank (in der Regel 1521)
  • IhrName ist die Anmeldung auf dem Verbindungsserver
  • Verbindungsserver ist der Computer, auf dem SSH-Zugriff

Das gleiche unter Windows mit Plink getan werden kann (die mit Kitt kommt):

plink -N -L localport:dbserver:dbport yourname@connectionserver

Tun Sie dies auf beiden Maschinen (dem lokalen Rechner und dem Server, den Sie Zugriff haben) an die Kette der SSH-Tunnel. Beispiel:

Connection Server (vorausgesetzt, Linux):

ssh -N -L1521:dbserver:1521 dblogin@dbserver

Ihr PC:

plink -N -L 1521:connectionserver:1521 connlogin@connectionserver

Der tnsnames.ora Eintrag aussehen muss wie Sie eine lokale Datenbank ausführen, z.

prodoverssh =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = prod)
    )
  )

Andere Tipps

Danke!

rief ich ssh -N -LXXXX:server:YYYY login@server zweimal.

Zuerst rief ich

ssh -L 9998:127.0.0.1:9997 login@gate.company.cz

auf meinem PC.

Dann auf diesem Server (während der SSH-Sitzung), rief ich

ssh -L 9997:localhost:1521 root@192.168.105.111

wo 192.168.105.111 Server, auf dem ORACLE ausgeführt wurde.

Also, was ich tat, ist folgende Umleitung:

1521 (COMPANY ORACLE SERVER) 
  -> 9997 (COMPANY GATEWAY SERVER)
     -> 9998 (LOCAL PC)

So bekam ich ORACLE Zugang in meinem lokalen PC an Port 9998!

Sie können auch die -f Option hinzufügen, die den Befehl ssh im Hintergrund ausgeführt werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top