J'ai un accès SSH au serveur 'public', qui est également la passerelle vers le réseau de l'entreprise. Il existe un autre serveur sur le réseau, où le serveur local Oracle Database est en cours d'exécution (il n'y a pas d'accès depuis l'extérieur de ce serveur, seules les connexions à la base de données localhost sont acceptées). Et bien sûr, j'ai un autre accès SSH à ce serveur.
Existe-t-il un moyen de rejoindre ce serveur Oracle Database 11g depuis l’extérieur du réseau? Je demande s’il existe une chaîne du type tunnel ssh et comment je la configure. Cela peut être utile, par exemple, pour TOAD for Oracle (client Oracle).
EDIT: Voici l'image
Merci
Oui c'est possible. Par exemple. sous Linux, lancez
ssh -N -Llocalport:dbserver:dbport yourname@connectionserver
où
La même chose peut être faite sous Windows en utilisant Plink (fourni avec PuTTY):
plink -N -L localport:dbserver:dbport yourname@connectionserver
Faites cela sur les deux machines (votre machine locale et le serveur auquel vous avez accès) pour chaîner les tunnels SSH. Exemple:
Serveur de connexion (sous 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 à une base de données locale, par exemple.
prodoverssh =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(Host = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = prod)
)
)
Merci!
J'ai appelé ssh -N -LXXXX:server:YYYY login@server
deux fois.
D'abord, j'ai appelé
ssh -L 9998:127.0.0.1:9997 [email protected]
sur mon PC.
Ensuite, sur ce serveur (pendant la session SSH), j’ai appelé
ssh -L 9997:localhost:1521 [email protected]
où 192.168.105.111 est le serveur sur lequel Oracle était en cours d'exécution.
Donc, ce que j'ai fait est la redirection suivante:
1521 (COMPANY Oracle SERVER)
-> 9997 (COMPANY GATEWAY SERVER)
-> 9998 (LOCAL PC)
J'ai donc un accès Oracle sur mon PC local au port 9998!
vous pouvez également ajouter l'option -f
qui exécute la commande ssh en arrière-plan.