Androide

Cómo conectarse a mysql a través del túnel ssh

Trucos DevOps - Aprende a crear túneles SSH para conectarse a MySQL

Trucos DevOps - Aprende a crear túneles SSH para conectarse a MySQL

Tabla de contenido:

Anonim

De manera predeterminada, el servidor MySQL solo escucha en localhost, lo que significa que solo las aplicaciones que se ejecutan en el mismo host pueden acceder a él.

Sin embargo, en algunas situaciones, es posible que desee conectarse al servidor desde ubicaciones remotas. Una opción sería configurar el servidor MySQL para permitir conexiones remotas, pero eso requiere privilegios administrativos y puede causar riesgos de seguridad.

Una alternativa más segura sería crear un túnel SSH desde el sistema local hasta el servidor. La tunelización SSH es un método para crear una conexión SSH cifrada entre un cliente y una máquina servidor a través de la cual se pueden retransmitir los puertos de servicios.

En esta guía, explicaremos cómo crear un túnel SSH y conectarse al servidor MySQL desde clientes remotos. Las mismas instrucciones aplican para MariaDB.

Prerrequisitos

  • Cliente SSH. Acceso SSH al sistema en el que se ejecuta el servidor MySQL.

Cree un túnel SSH en Linux y macOS

El cliente ssh está preinstalado en la mayoría de los sistemas basados ​​en Linux y Unix.

ssh -N -L 3336:127.0.0.1:3306 @

Las opciones utilizadas son las siguientes:

  • -N : le dice a SSH que no ejecute un comando remoto. -L 3336:127.0.0.1:3306 : crea un reenvío de puerto local. El puerto local ( 3306 ), la IP de destino ( 127.0.0.1 ) y el puerto remoto ( 3306 ) se separan con dos puntos (:). @ - El usuario SSH remoto y la dirección IP del servidor. Para ejecutar el comando en segundo plano, use la opción -f Si el servidor SSH está escuchando en un puerto que no sea 22 (el predeterminado) especifique el puerto con la opción -p .

Una vez que ejecute el comando, se le pedirá que ingrese su contraseña de usuario SSH. Después de ingresarlo, iniciará sesión en el servidor y se establecerá el túnel SSH. Es una buena idea configurar una autenticación basada en clave SSH y conectarse al servidor sin ingresar una contraseña.

Ahora puede apuntar el cliente MySQL de su máquina local a 127.0.0.1:3336 ingresar las credenciales de inicio de sesión de la base de datos remota y acceder al servidor MySQL.

Por ejemplo, para conectarse al servidor MySQL utilizando la línea de comando mysql client, emitiría:

mysql -u MYSQL_USER -p -h 127.0.0.1

Donde MYSQL_USER es el usuario remoto de MySQL que tiene privilegios para acceder a la base de datos.

Cuando se le solicite, ingrese la contraseña de usuario de MySQL.

Para terminar el túnel SSH, escriba CTRL+C en la consola donde se ejecuta el cliente ssh.

Crear un túnel SSH en Windows

Los usuarios de Windows primero deberán descargar e instalar un programa cliente SSH. El cliente SSH de Windows más popular es PuTTY. Puedes descargar PuTTY aquí.

Realice los siguientes pasos para crear un túnel SSH para el servidor MySQL con PuTTY:

  1. Inicie Putty e ingrese la dirección IP del servidor en el campo Host name (or IP address) :

    Conclusión

    MySQL, el servidor de base de datos de código abierto más popular, escucha las conexiones entrantes solo en localhost. Crear un túnel SSH le permite conectarse de forma segura al servidor MySQL remoto desde su cliente local.

    mysql mariadb ssh