Connexion à Oracle via SSH

Cette page a pour but d'expliquer comment se connecter au serveur oracle b710ntb en utilisant un tunnel SSH.

Sous un système de type UNIX (Linux, Mac OS X, etc ...)

Il suffit faut ouvrir une session SSH sur proxy710 avec un transfert de port:

ssh xxx@proxy710.univ-lyon1.fr -L1521:b710ntb:1521 -L5560:b710ntb:5560

xxx est votre login unix. L'option -L1521:b710ntb:1521 signifie de transmettre les informations du port 1521 sur localhost (i.e. votre machine), vers le port 1521 sur b710ntb (le port 1521 est celui utilisé par SQLPlus pour se connecter à la base). La deuxième redirection de port (le port 5560) est le port pour la connection Web à ISQLPlus.

Pour se connecter à la base par le web, il suffit à présent de pointer votre navigateur préféré à l'adresse http://localhost:5560/isqlplus. La configuration de SQLPlus (l'interface dans le terminal) nécessite de changer le fichier tnsnames.ora. Voir à la fin de la page pour les détails.

Fichier de configuration

Il est possible de stocker le fichier ~/.ssh/config les informations de connexion. Voici un fichier de base (il faut juste remplacer xxx par votre login).

Host oraclessh
Hostname proxy710.univ-lyon1.fr
User xxx
LocalForward 1521 b710ntb:1521
LocalForward 5560 b710ntb:5560

Il suffit ensuite taper ssh oraclessh pour se connecter à proxy710 avec les 2 tunnels.

Sous Windows

La première étape consiste à installer PuTTY. Lancer ensuite PuTTY et éditer Host Name en indiquant proxy710.univ-lyon1.fr:

Dans l'option Data indiquer votre login (ci-dessous xxx) dans Auto-login username:

Dans l'option Tunnels, indiquer 1521 dans Source port et b710ntb:1521 dans Destination, puis cliquer sur Add. Recommencer l'opération avec le port 5560 (voir ci-dessous).

Pour finir, revenir dans l'option Session, et indiquer dans Saved Session un nom pour la configuration, par exemple oraclessh, puis cliquer sur Save.

Pour lancer la connexion, il suffit à présent de cliquer sur oraclessh (ou le nom que vous avez choisi) puis sur Open. Entrer le mot de passe unix. La connexion est établie. Vous pouvez vous connecter par l'interface Web: http://localhost:5560/isqlplus.

Modification du fichier tnsnames.ora

C'est dans ce fichier que Oracle stocke les informations de connection à la base. Classiquement, il se trouve ici: C:\Oracle\product\10.1.0\Client_1\NETWORK\ADMIN sous Windows et dans le répertoire indiqé par la variable $TNSADMIN. Il faut changer les paramètres de connection qui ont la forme:

ORA10G =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = b710ntb)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ora10g)
    )
  )

en:

ORA10G =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ora10g)
    )
  )

et ceci pour les 3 bases ORA10G, STRA et EXP.