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)?
-
01-10-2019 - |
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
Merci
La solution
Oui, il est possible. Par exemple. sur Linux, exécutez
ssh -N -Llocalport:dbserver:dbport yourname@connectionserver
où
- 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.