Comment puis-je connecter au serveur de base de données Oracle 11g par chaîne tunnel ssh (à double tunnel, serveur dans le réseau de l'entreprise)?

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

Question

J'ai accès SSH au serveur « public », qui est aussi la porte d'entrée vers le réseau de l'entreprise. Il y a un autre serveur dans le réseau, où locale serveur Oracle Database est en cours d'exécution (Il n'y a pas d'accès à l'extérieur de ce serveur, que localhost connexions DB sont acceptées). Et bien sûr, j'ai un autre accès SSH à ce serveur.

Est-il possible de se joindre à ce serveur de base de données Oracle 11g à l'extérieur du réseau? Je demande s'il y a quelque chose comme la chaîne tunnel ssh, et comment je le configurer. Cela peut être utile, par exemple, pour TOAD for Oracle (client ORACLE).

EDIT: Voici l'image

text alt Merci

Était-ce utile?

La solution

Oui, il est possible. Par exemple. sur Linux, exécutez

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

  • localport est le port sur votre machine qui sera transmis (peut être 1521 s'il n'y a pas instance locale de fonctionnement oracle)
  • dbserver est le nom ou l'adresse IP du serveur de base de données
  • dbport est le port de la base de données (généralement 1521)
  • votrenom est la connexion sur le connectionserver
  • connectionserver est la machine sur laquelle vous avez accès ssh

La même chose peut être fait sur Windows en utilisant Plink (qui est livré avec Putty):

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

Pour ce faire, sur les deux machines (votre machine locale et le serveur que vous avez accès à) à chaîner les tunnels ssh. Exemple:

serveur de connexion (en supposant Linux):

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

Votre PC:

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

L'entrée tnsnames.ora doit ressembler à vous utilisez une base de données locale, par exemple.

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

Autres conseils

Merci!

J'ai appelé ssh -N -LXXXX:server:YYYY login@server deux fois.

Tout d'abord, j'ai appelé

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

sur mon PC.

Ensuite, sur ce serveur (au cours de la session SSH), j'ai appelé

ssh -L 9997:localhost:1521 root@192.168.105.111

où 192.168.105.111 est serveur où ORACLE est en cours d'exécution.

Alors, je me suit redirection:

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

Je suis accès dans mon PC ORACLE locale sur le port 9998!

vous pouvez également ajouter l'option -f qui exécutez la commande ssh en arrière-plan.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top