Crear conexión remota servidor base de datos


En este post vamos a crear conexión remota servidor base de datos por medio de un tunel (tunneling) configurado con el servidor ssh para una base de datos mysql.

oscar Escrito por oscar 16 September 2017 6579 0

Para conectarse a una base de datos remota sin tener que abrir puertos en el servidor o realizar configuraciones adicionales que puedan exponer la seguridad de tu servidor usaremos la conexión ssh con el programa putty para realizar la conexión a nuestra base de datos remota con seguridad de llaves privadas y publicas.

Que vamos a necesitar

Servidor

  • Un servidor con S.O. ubuntu (o el s.o. con que trabaje) que este alojado en la nube -> Configurar ssh ubuntu server
  • Las keys de acceso ssh
  • Una base de datos instalada, para este ejemplo se uso mysql (puede ser cualquier db)

Local

  • Trabajaremos con Windows
  • Usaremos a putty para hacer la configuración y conexión al servidor
  • Algun gestos de base de datos, en este caso tenemos mysql workbeanch

Definiciones

Tunel (tunneling)

El tunel consiste en encapsular un protocolo de red sobre otro protocolo de red para enviar datos seguros sobre equipos de computo; para nuestro ejemplo lo usaremos para enviar los datos cifrados de la comunicación de base de datos por medio de la conexión ssh.

Configuración

Verificar puerto mysql

Una ves que tengamos las llaves publicas, privadas y el servidor con la base de datos vamos a realizar la conexión para ello accedemos a la administrador de base de datos y con el siguiente comando verificamos la ip y el puerto que esta usando.

SHOW VARIABLES
WHERE Variable_name IN (
"hostname",
"port")

Donde nos retornara lo siguiente.

Verificar ip y puerto mysql
Verificar ip y puerto mysql

 

Configurar putty

Procedemos a configurar putty, para ello vamos a realizar los siguientes pasos como se explican en las siguientes imagenes.

Crear conexión SSH
Crear conexión SSH

 

  • 1. Seleccionamos en la categoría la opción de sesión.
  • 2. Ingresamos la ip de nuestro servidor.
  • 3. Ingresamos el puerto que nuestro caso es el 22 para conexión remota.
  • 4. Seleccionamos el tipo de conexión que en nuestro caso es SSH.
  • 5. Colocamos un nombre para guardar la sesión y no tener que ingresar los datos de nuevo.
Asignación de private key
Asignación de private key

 

Crear el tunel
Crear el tunel

 

  • 6. En la lista de categoría, seleccionamos conexión > SSH > Auth
  • 7. Cargaremos la llave privada.ppk que usa para la conexion SSH
  • 8. En la misma opción de Auth buscamos tunel.
  • 9. El source port es el puerto local de nuestra máquina que usara para conectarse remotamente.
  • 10. El destino es la IP y el puerto del servidor en donde estamos realizando la conexión, como en el paso 2 dejamos la IP establecida, colocamos localhost y el puerto que queremos conectar al tunel.
  • 11. Adicionamos los parámetros que acabamos de crear.
Guardar la conexión
Guardar la conexión

 

  • 12. Volvemos a la categoría de sesión para finalizar la configuración.
  • 13. Guardamos la sesión para cárgala de nuevo despues.
  • 14. Damos en conectar.

Configurar mysql workbeanch

Una vez que tengamos la conexión establecida, usaremos a mysql workbeanch para conectarnos a la base de datos remota.

Crear conexión mysql
Crear conexión mysql
  • 1. Crearemos una nueva conexión con el workbeanch.
Configuración de la conexión
Configuración de la conexión

 

  • 2. Le damos un nombre a la nueva conexión.
  • 3. La IP que colocaremos es la local de nuestra máquina, ya que la configuración SSH con el tunel que realizamos anteriormente usara el puerto de enlace para conectarse remotamente.
  • 4. Colocamos el puerto que establecimos en el paso 9 de la configuración SSH.
  • 5. Comprobaremos la conexión en el test que tiene la aplicación.
Asignación de contraseña
Asignación de contraseña
Verificar la conexión
Verificar la conexión

 

  • 6. Introducimos la contraseña del motor de mysql.
  • 7. Damos en ok para crear la conexión.

Prueba de conexión a mysql

Una vez tengamos la configuraciones realizadas en los pasos anteriores realizamos pruebas, para ello ejecutamos cualquier query, donde estará procesando directamente en el motor de mysql.

Pruebas de la conexión
Pruebas de la conexión

 

Con estos pasos podemos conectarnos remotamente a una base de datos, ahora los invito a realizar el ejercicio para conectarse remotamente, y poder probar cualquier conexión a otros motores de base de datos.


Comentario

Debe aceptar antes de enviar