Tunnel SSH
Cette note est tirée de : http://www-prima.imag.fr/prima/people/zaidenberg/Enseignement/cours/Java/JDBCHopper.html
Les accès aux serveurs du réseau de l'UJF (domaine ujf-grenoble.fr) sont filtrés. Seul l'accès via ssh est autorisé sur les serveurs (et http sur ufrima).
Ainsi, le tunnel ssh est le seul moyen d'accéder directement à Oracle via jdbc depuis une machine hors du réseau UJF, à condition de disposer d'un compte utilisateur sur ce réseau.
Un tunnel ssh est un moyen permettant de faire transiter des paquets réseau via la connexion ssh qui est ouverte. La syntaxe est la suivante :
ssh -L port1:machine1:port2 user@machine2
Cette commande ouvre une session sur machine2, et toute requête soumise sur le port port1 de la machine locale est automatiquement transmise sur le port port2 de machine1.
Exemples d'utlisation :
Accéder
au serveur web de mandelbrot depuis l'extérieur :
ssh
-L10000:mandelbrot.e.ujf-grenoble.fr:80
toto@hopper.e.ujf-grenoble.fr
Une session est créée
sur hopper et tout se passe maintenant comme si le serveur web de
mandelbrot était installé sur la machine locale via
son port 10000
Accès
jdbc. Le port jdbc pour Oracle est le 1521.
ssh
-L1521:hopper.e.ujf-grenoble.fr:1521
toto@hopper.e.ujf-grenoble.fr
Une session est créée
sur hopper, et les requêtes soumises par jdbc sur le port 1521
de la machine locale sont transmises via le tunnel au serveur hopper
sur son port 1521. L'URL d'accès est donc
jdbc:oracle:thin:@localhost:1521:ufrima
Dans les exemples ci-dessus, il s'agit des commandes Unix. Sous windows utiliser Putty (http://www.chiark.greenend.org.uk/~sgtatham/putty/).
Pour plus d'informations sur les tunnels ssh et leur configuration sous différents systèmes (unix, Mac OS X, Mac OS 9, Windows ....) vous pouvez vous référer à la page de Joël Marchand (http://www.math.jussieu.fr/informatique/tunnel/tunnel_ssh.html)