Come posso collegare al server Oracle Database 11g attraverso la catena ssh tunnel (doppio tunnel, server nella rete aziendale)?

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

Domanda

Ho accesso SSH al server 'pubblico', che è anche la porta di rete aziendale. C'è un altro server nella rete, in cui locali server Oracle Database è in esecuzione (Non v'è alcun accesso dall'esterno di questo server, sono accettate solo le connessioni DB localhost). E, naturalmente, ho un altro accesso SSH al server.

C'è un modo per unirsi a questa Oracle Database 11g server al di fuori della rete? Mi chiedo se c'è qualcosa di simile catena di tunnel SSH, e come configurarlo. Questo può essere utile, ad esempio, per il ROSPO per Oracle (client Oracle).

Modifica Ecco immagine

alt text Grazie

È stato utile?

Soluzione

Si, è possibile. Per esempio. su Linux, a conduzione

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

dove

  • localport è la porta sulla vostra macchina che sarà trasmesso (può essere 1521 se non c'è un'istanza locale di Oracle in esecuzione)
  • dbserver è il nome o l'IP del server di database
  • dbport è la porta del database (di solito 1521)
  • nomeutente è il login sul connectionServer
  • connectionServer è la macchina dove si ha accesso ssh

Lo stesso può essere fatto su Windows utilizzando Plink (che viene fornito con mastice):

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

Effettuare questa operazione su entrambe le macchine (computer locale e il server si ha accesso a) per la catena dei tunnel ssh. Esempio:

Server Connection (supponendo Linux):

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

Il tuo PC:

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

La voce tnsnames.ora deve guardare come si esegue un database locale, per es.

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

Altri suggerimenti

Grazie!

ho chiamato ssh -N -LXXXX:server:YYYY login@server due volte.

In primo luogo, ho chiamato

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

sul mio PC.

Quindi, su questo server (durante la sessione SSH), ho chiamato

ssh -L 9997:localhost:1521 root@192.168.105.111

dove 192.168.105.111 è il server in cui è in esecuzione Oracle.

Quindi quello che ho fatto è seguito reindirizzamento:

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

Così ho avuto l'accesso ORACLE nel mio PC locale al porto 9998!

è possibile aggiungere anche l'opzione -f che corrono il comando ssh in background.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top