Oui c'est possible. Par exemple. sous Linux, exécutez
ssh -N -Llocalport:dbserver:dbport [email protected]
où
- localport est le port sur votre machine qui sera redirigé (peut être 1521 s'il n'y a pas d'instance locale d'Oracle en cours d'exécution)
- dbserver est le nom ou l'IP du serveur de base de données
- dbport est le port de la base de données (généralement 1521)
- votre nom est le login sur le serveur de connexion
- connectionserver est la machine sur laquelle vous avez un accès ssh
La même chose peut être faite sous Windows en utilisant Plink (fourni avec Putty) :
plink -N -L localport:dbserver:dbport [email protected]
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 (en supposant Linux) :
ssh -N -L1521:dbserver:1521 [email protected]
Votre ordinateur :
plink -N -L 1521:connectionserver:1521 [email protected]
L'entrée tnsnames.ora doit donner l'impression que vous exécutez une base de données locale, par exemple
prodoverssh =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = prod)
)
)