Introducción

Si administras una base de datos MySQL en tu hosting, seguramente ya sabes que nunca es buena idea dejar el puerto 3306 abierto al público. Cuando ese puerto queda expuesto a internet, tu base de datos se convierte en un blanco fácil para ataques automatizados que buscan credenciales débiles o vulnerabilidades conocidas.

Por eso, en MBHostCloud® recomendamos siempre conectarte a tu base de datos remota a través de un túnel SSH. Con este método, tu base de datos jamás queda expuesta directamente a internet: todo el tráfico viaja cifrado dentro de una conexión SSH, y el puerto 3306 permanece cerrado al público en todo momento.

En este tutorial te explicamos, paso a paso, cómo crear ese túnel y conectarte de forma segura desde tu computadora.

Requisitos previos

Antes de comenzar, asegúrate de tener:

  • ✅ Una cuenta de hosting con acceso SSH habilitado. Si no lo tienes activo, escríbenos a SupportCenter@MarBust.com y con gusto te lo activamos.
  • ✅ Un cliente de base de datos instalado en tu computadora. Recomendamos HeidiSQL, DBeaver o MySQL Workbench.
  • ✅ Los datos que MBHostCloud® te entregó de forma privada: servidor, puerto SSH (importante: no es el puerto 22 estándar, sino el que te asignamos específicamente), tu usuario SSH y las credenciales de tu base de datos.

Con esto listo, ¡empecemos!

Paso 1: Crea tu llave SSH en tu computadora

Lo primero es generar un par de llaves SSH en tu equipo local. Abre tu terminal (PowerShell en Windows con OpenSSH instalado, o Terminal en macOS/Linux) y ejecuta:

ssh-keygen -t ed25519 -C "tu-correo@ejemplo.com"

Este comando genera dos archivos:

  • id_ed25519 → tu llave privada. Se queda únicamente en tu computadora y nunca, bajo ninguna circunstancia, la compartas con nadie (ni siquiera con nuestro equipo de soporte). Es el equivalente digital de la llave de tu casa.
  • id_ed25519.pub → tu llave pública. Esta sí la vas a subir a tu panel en el siguiente paso.

⚠️ Advertencia de seguridad: si tu llave privada se filtra o se pierde, cualquier persona que la tenga podría acceder a tu servidor. Guárdala en un lugar seguro y, si sospechas que se comprometió, genera un par de llaves nuevo de inmediato.

¿Usas PuTTY en Windows? Puedes generar tu par de llaves con PuTTYgen y exportar la llave pública en el mismo formato.

Paso 2: Carga tu llave pública en DirectAdmin

Ahora vamos a autorizar esa llave pública en tu panel:

1. Ingresa a tu cuenta de DirectAdmin.

2. Ve a Funciones Avanzadas.

3. Haz clic en «Claves SSH».

mysql

4. Dentro, selecciona la pestaña «Llave Autorizada».

5. Abre el archivo id_ed25519.pub con un editor de texto, copia todo su contenido y pégalo en el cuadro correspondiente.

ssh

6. Guarda los cambios para autorizar la llave.

🔒 Recuerda: aquí se pega la llave pública (el archivo que termina en .pub). Jamás pegues el contenido de tu llave privada.

Paso 3: Abre el túnel y redirecciona el puerto de MySQL

Con tu llave ya autorizada, es momento de abrir el túnel SSH. En tu terminal, ejecuta el siguiente comando reemplazando los placeholders por los datos que MBHostCloud® te entregó de forma privada:

ssh -p <PUERTO_SSH> -i ~/.ssh/id_ed25519 -N -L 3307:127.0.0.1:3306 <usuario>@<servidor>

Vamos a desglosarlo:

  • -p <PUERTO_SSH> → el puerto SSH que MBHostCloud® te asignó (no el 22).
  • -i ~/.ssh/id_ed25519 → indica cuál llave privada usar para autenticarte.
  • -L 3307:127.0.0.1:3306 → esta es la parte clave del túnel: reenvía el puerto 3307 de tu computadora hacia el puerto 3306 (MySQL) del servidor. Usamos 3307 en tu equipo local para evitar conflictos si ya tienes un MySQL propio corriendo en el 3306.
  • -N → indica que solo quieres abrir el túnel, sin abrir una sesión de consola interactiva.

Ejemplo práctico:

Para que quede más claro, supongamos que tus datos son estos (recuerda que en tu caso serán los que MBHostCloud® te entregó):

  • Usuario: pruebauser
  • Servidor: prueba.com
  • Puerto SSH: 123

Con esos datos, tu comando quedaría así:

ssh -p 123 -i ~/.ssh/id_ed25519 -N -L 3307:127.0.0.1:3306 pruebauser@prueba.com

Simplemente reemplaza pruebauser, prueba.com y 123 por tu usuario, tu servidor y tu puerto SSH reales, y el resto del comando se mantiene igual.

Una vez que ejecutes el comando, deja esa ventana de terminal abierta mientras trabajas. El túnel solo existe mientras esa conexión SSH permanezca activa; si cierras la ventana, el túnel se corta.

Paso 4: Conecta tu cliente de base de datos

Con el túnel abierto, ve a tu cliente de base de datos (HeidiSQL, DBeaver o MySQL Workbench) y configura una nueva conexión con estos datos:

  • Host / Servidor: 127.0.0.1
  • Puerto: 3307
  • Usuario: tu usuario de MySQL (el de tu panel)
  • Contraseña: tu contraseña de MySQL

Como te conectas a través del túnel, MySQL «ve» tu conexión como si viniera de localhost. Esto significa que funciona con tu usuario normal, sin necesidad de configurar permisos especiales de acceso remoto por host.

Solución de problemas

«Permission denied (publickey)»
Tu llave pública no está autorizada correctamente en DirectAdmin, o el acceso SSH no está habilitado en tu cuenta. Revisa el Paso 2 o escríbenos.

«Connection refused»
Probablemente estás usando el puerto SSH equivocado. Recuerda: no es el 22, es el puerto específico que te entregamos.

El puerto 3307 está ocupado
Cambia el túnel y tu cliente de base de datos al puerto 3308 (o cualquier puerto libre en tu equipo).

Se cerró la ventana de la terminal
El túnel se corta automáticamente. Simplemente vuelve a ejecutar el comando del Paso 3 para reabrirlo.

Conclusión

Conectarte a tu base de datos MySQL mediante un túnel SSH es, hasta ahora, la forma más segura de trabajar de manera remota: tu base de datos nunca queda expuesta a internet y el puerto 3306 permanece siempre cerrado al público. Solo recuerda dos reglas de oro: jamás compartas tu llave privada y nunca abras el puerto 3306 directamente.

Si tienes dudas durante el proceso o necesitas que activemos el acceso SSH en tu cuenta, escríbenos a Support@MBHostCloud.com, y nuestro equipo de MBHostCloud® te ayudará con gusto. 🔐

invitamos a seguir explorando nuestro blog para más contenido sobre tecnología, emprendimiento y soluciones digitales.

Síguenos en nuestras redes sociales y visita nuestra sala de prensa para más noticias, guías y consejos tecnológicos. 🚀

FacebookX (Twitter)YouTubeLinkedInInstagram

Sobre el Autor

MarAntBQ

Marco Antonio Bustillos Quiroz
Bachelor of Science in Web Design and Development (BYU–Idaho)
Full Stack Developer con más de 9 años de experiencia en desarrollo Front End, Back End y Mobile. He construido ERPs, tiendas en línea, APIs REST, chatbots con inteligencia artificial y decenas de sitios web y aplicaciones — y hoy lidero técnicamente un equipo de desarrollo backend en una consultora fintech internacional. Mi pasión es crear experiencias digitales que resuelven problemas reales y compartir ese conocimiento con otros desarrolladores y entusiastas de la tecnología.