sql >> Base de Datos >  >> RDS >> Mysql

Acceda de forma remota al servidor MySQL a través del túnel SSH

Podemos acceder de forma segura a MySQL en un sistema remoto conectando MySQL a través del túnel SSH. Este tutorial proporciona los pasos necesarios para conectarse de forma remota al servidor MySQL a través del túnel SSH utilizando Putty en Windows y SSH en sistemas Linux. Muestra cómo reenviar el puerto local de MySQL, es decir, 3306, al puerto remoto de MySQL, es decir, 3306 a través del puerto SSH 22 del sistema remoto. Esto garantiza que nos estamos comunicando de forma segura con el servidor remoto a través del puerto 22, conectando el puerto local 3306 al puerto 3306 en el servidor remoto.

Requisitos

Un servidor remoto que tenga instalado un servidor MySQL. Puede seguir Cómo instalar MySQL 8 en Ubuntu 20.04 LTS.

Además, asegúrese de que el puerto 22 esté abierto y el puerto 3306 esté bloqueado por el firewall en el sistema remoto que tiene el servidor MySQL. Este tutorial también asume que el servidor MySQL no se está ejecutando en el sistema local. Esto garantiza que el puerto 3306 en el sistema local esté libre para el reenvío de puertos.

También necesitamos acceso SSH al sistema en el que está instalado y en ejecución el servidor MySQL. Podemos usar el nombre de usuario y contraseña de SSH o nombre de usuario SSH y clave para conectarse al sistema remoto.

Instalar Putty en Windows 10

Podemos usar Putty en los sistemas Windows para acceder al servidor MySQL instalado en un servidor remoto. En caso de que esté utilizando un sistema basado en Linux, puede pasar a la sección SSH.

Abra la página de descarga oficial de Putty para descargar el instalador de MSI como se destaca en la figura 1.

higo 1

También podemos usar el ejecutable Putty sin instalarlo. Desplácese hacia abajo en la página de descarga para descargar el archivo ejecutable.

Ahora ejecuta Putty. Las opciones predeterminadas de Putty deben ser similares a la figura 2.

higo 2

Conexión segura a MySQL usando Putty

Esta sección proporciona los pasos para usar Putty para conectarse de forma segura a MySQL a través del túnel SSH desde un sistema remoto. Ahora complete los detalles del host remoto como se muestra en la Fig. 3.

higo 3

Además, haga clic en Conexión -> SSH -> Túneles como se resalta en la Fig. 3. Ahora complete los detalles de reenvío del puerto SSH como se muestra en la Fig. 4. El puerto de origen debe establecerse en 3306 y el destino debe establecerse en 127.0.0.1:3306 .

higo 4

Haga clic en el botón Agregar después de llenar el puerto de Origen y Destino. Actualizará los Puertos reenviados como se muestra en la figura 4. Además, haga clic en la opción de autenticación y elija la clave SSH como se muestra en la figura 5. Asegúrese de haber generado la clave privada con Puttygen.

higo 5

Ahora haga clic en el botón Abrir para abrir la conexión. Mostrará la alerta de seguridad por primera vez como se muestra en la Fig. 6.

higo 6

Haga clic en el botón para aceptar la conexión. Le pedirá la frase de contraseña en caso de que la haya configurado al generar la clave privada. En una conexión exitosa, mostrará los detalles del sistema remoto como se muestra en la Fig. 7.

higo 7

Además de conectarse a través de SSH, también reenvió el puerto local 3306 al puerto 3306 en el servidor remoto. No cierre Putty ya que mantiene abierto el túnel SSH al servidor remoto. Ahora inicie cualquier Cliente MySQL e intente conectarse al servidor MySQL remoto. He usado MySQL Workbench con fines de demostración. La pantalla de inicio de Workbench debe ser similar a la figura 8. También puede seguir Uso de Workbench para conectarse a un servidor MySQL remoto a través de un túnel SSH.

higo 8

Ahora haga clic en el ícono Más para crear una nueva Conexión local como se resalta en la Fig. 8. Mostrará las opciones para agregar conexión como se muestra en la Fig. 9.

higo 9

Proporcione un nombre de conexión y mantenga el nombre de host como 127.0.0.1 y el puerto como 3306, como se muestra en la figura 9. Ahora haga clic en Probar conexión para probar la conexión con el servidor MySQL remoto a través del túnel SSH. Le pedirá la Contraseña como se muestra en la Fig. 10 en caso de que no la haya almacenado en la Bóveda.

higo 10

Ahora complete la contraseña y haga clic en el botón Aceptar para probar la conexión. Debería mostrar un mensaje de éxito en la conexión exitosa como se muestra en la Fig. 11.

higo 11

Ahora haga clic en el botón Aceptar para cerrar el mensaje de conexión y nuevamente haga clic en el botón Aceptar para cerrar el asistente de conexión. Agregará la conexión a la biblioteca de conexiones como se muestra en la Fig. 12.

higo 12

Ahora haga clic en la conexión recién agregada. Debe conectarse al servidor remoto y listar las bases de datos del servidor MySQL remoto como se muestra en la Fig. 13.

higo 13

Ahora podemos trabajar en un servidor MySQL remoto usando Workbench en el sistema local. Además, cierre Workbench y Putty para terminar la conexión después de completar el trabajo en el servidor MySQL remoto.

Conexión segura a MySQL usando SSH

Podemos conectarnos al servidor MySQL remoto reenviando el puerto local 3306 al puerto remoto 3306 usando el comando SSH como se muestra a continuación. Al igual que en la sección anterior, asegúrese de que el puerto local 3306 esté libre.

Notas :Los comandos mencionados a continuación se han probado en Ubuntu Desktop. Los pasos y comandos deberían ser similares en otros sistemas Linux.

# Shutdown local MySQL - Else use a different local port
sudo service mysql stop

# Install MySQL Client - If required
sudo apt install mysql-client

# Port Forwarding - Command
ssh -N -L 3306:127.0.0.1:3306 [USER]@[SERVER_IP]
# OR
ssh -N -L 3306:127.0.0.1:3306 -i [SSH Key] [USER]@[SERVER_IP]

# Port Forwarding - Example
ssh -N -L 3306:127.0.0.1:3306 [email protected]
# OR
ssh -N -L 3306:127.0.0.1:3306 -i example.pem [email protected]

Los comandos mencionados anteriormente abren el túnel SSH y conectan el puerto local 3306 al puerto remoto 3306. Ahora podemos conectarnos al servidor MySQL remoto usando el cliente MySQL. Puede consultar la sección anterior para usar MySQL Workbench instalado en el sistema local.

Además, consulte la Fig. 14 y la Fig. 15 para abrir el túnel SSH y conectarse al servidor MySQL remoto.

figura 14

higo 15

Resumen

Este tutorial proporcionó los pasos necesarios para conectarse al servidor MySQL remoto a través del túnel SSH para sistemas Windows y Linux.