Como crear un tunel ssh para acceder a una BBDD Oracle

En una presentación de krisrice y thatjeffsmith en KScope15, Jeff señaló algunas nuevas características, incluyendo una para crear túneles SSH usando el programa gratuito que ofrece Oracle para manejar cualquier BBDD ORacle :  el   SQL Developer.

SQL Developer es un entorno de desarrollo de uso general (y gratuito) para la base de datos Oracle. Esta característica parece que debería funcionar independientemente de si realmente desea conectarse a una base de datos Oracle

Sí, puede crear túneles SSH de la forma tradicional utilizando su cliente de línea de comandos SSH favorito   tambien deberia poderse hacer de un ambiente mas potente   como es el entorno de SQL Developer. Este post no es un pros / contras, es sólo una introducción a la función.

Si usted necesita a veces crear túneles de SSH  para lanzar  SQL entonces usted puede encontrar esto interesante.

En esta  introducción se hacen los siguientes supuestos::

  • Tiene un servidor remoto que tiene SSH en ejecución y admite la autenticación basada en claves.
  • Ya tiene sus claves públicas y privadas SSH generadas y correctamente instaladas en el servidor remoto.
  • Debe enviar las solicitudes a cualquier servicio que se ejecute en un puerto del servidor remoto que pueda estar bloqueado por un servidor de seguridad o, de lo contrario, sólo es accesible una vez que haya iniciado sesión en ese servidor remoto. Para este último punto,  se supone que se cuenta con una instancia de una base de datos Oracle que se ejecuta detrás de un firewall en un servidor remoto y el único puerto accesible a los hosts externos es el puerto TCP 22 (predeterminado para SSH). Usando un túnel SSH con reenvío de puertos, puede obtener SQL Developer para arriba y corriendo en su PCl para que pueda conectarse a su instancia de base de datos remota de Oracle. 

Aquí está el  modo  de hacerlo:

  • En primer lugar, si no lo tiene todavía tendrá que descargar SQL Developer versión 4.1 o posterior (en la versión 4.0  esta característica aún no estaba disponible)

 

  • Se puede descargar desde aquí   http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html
  • SQL Developer 4.1 también requiere Java 1.8 así que si usted no lo tiene instalado todavía recomiendo que usted consiga una copia . Si no está seguro si necesita esto, sólo puede instalar SQL Developer y le dirá que actualice su versión de Java según sea necesario cuando lo inicie.
  • A continuación, abra SQL Developer y elija View > SSH que abrirá el panel de conexiones SSH.
  • En el panel SSH, haga clic con el botón derecho en Hosts SSH y seleccione Nuevo host SSH …
  • Rellene el cuadro de diálogo con sus datos de conexión según sea necesario y pulse OK. Nota: si especifica el puerto incorrecto (como lo hice) en el servidor remoto o desea especificar el puerto TCP para enlazar sus conexiones locales, puede editar las conexiones posteriormente.

 

 

 

  • En este ejemplo,se  esta utilizando claves SSH para conectarse al servidor remoto. Esta es la práctica recomendada y también eliminará el paso de tener que ingresar una contraseña en el futuro. Nota: La clave que especifique en este cuadro de diálogo debe ser su clave privada y su clave pública ya debe estar configurada en el servidor remoto con los permisos correctos para que esto funcione correctamente.
  • El primer puerto especificado es el puerto del servicio (Oracle DB) que se ejecuta en el servidor remoto y el segundo (puerto local) puede ser cualquier puerto disponible en su máquina que desee utilizar. Este túnel enviará el tráfico de su máquina en el puerto local al servidor remoto. En este caso, probablemente recomendaría usar el mismo puerto que el servidor remoto a menos que tenga varios túneles ejecutándose a servidores remotos al mismo tiempo.

 

  • En el panel SSH debe aparecer su nueva conexión. Haga clic con el botón derecho en la conexión y elija Connect .
  • En este punto, si su conexión tiene éxito usted no necesariamente recibe ninguna retroalimentación positiva. Puede comprobar si está conectado al pasar el ratón sobre el túnel SSH con su ratón o haciendo clic con el botón Disconnect en él de nuevo para ver si se le pide que Disconnect .
  • Por último, debe tener un túnel SSH que se ejecute en su máquina local que puede utilizar para acceder a su base de datos remota de Oracle mediante la conexión a localhost:<local port> que reenvía su solicitud de conexión y todos los otros SQL Developer TCP tráfico Al servidor remoto en el puerto TCP que ha especificado. Excepto para el nombre de host y el número de puerto TCP, debe especificar todos los demás detalles de conexión como de costumbre.

 

 

Desde  luego era  una característica muy demandada por la comunidad de usuarios de BBDD Oracle que necesitan conectarse  en un ambiente de host .  Espero que haya encontrado esta visión general de la creación de túneles SSH en Oracle SQL Developer  útil y que le ayude en el camino.

 

 

 

Deja una respuesta