Estoy tratando de conectarme a mi base de datos a través de un túnel SSH desde uno de nuestros servidores de aplicaciones web con MySQL Workbench. Aquí está la configuración básica; Tenga en cuenta que cambié algunos valores en la captura de pantalla por razones de seguridad.
El problema es que cada vez que intento conectarme a través de un túnel SSH desde uno de nuestros servidores de aplicaciones, aparece el siguiente error:
No se pudo conectar con us-east-1.amazonaws.com a través del túnel SSH en computer.amazonaws.com con el usuario social_shop_prod. No se puede conectar al servidor MySQL en 127.0.0.1.
Sin embargo, si uso las mismas credenciales sobre SSH a través de la siguiente línea de comando:
mysql -u social_shop_prod -h us-east-1.amazonaws.com -p
Puedo conectarme con éxito y obtener el símbolo del sistema interactivo de MySQL.
He estado hablando con el resto de mi equipo de desarrollo aquí y ninguno de nosotros puede entender por qué no puedo hacer un túnel sobre SSH desde nuestros servidores de aplicaciones con Workbench; pero cuando hago SSH a uno de nuestros servidores de aplicaciones y me conecto a MySQL a través de la línea de comandos; Me puedo conectar con éxito.
¿Y por qué intenta conectarse a través de 127.0.0.1? No especifiqué eso en la configuración; ni mi archivo de hosts está redirigiendo los dominios que se muestran a continuación a esa IP.
Cualquier aportación constructiva es muy apreciada.
fuente
Seguí lidiando con este problema durante casi 2 semanas, ahora he logrado configurarlo. Lo publicaré aquí para que más personas puedan probarlo.
Ok, estoy usando OpenSSH (Win10 nativo) y Workbench 8.
Paso a paso:
1. Agregue sus claves de host SSH al agente utilizando ssh-add.
2. Genere los pares de claves usando ssh-keygen. En mi caso, estos archivos van automáticamente
Users/myUser/.ssh
según las configuraciones de instalación.3. Agregue la clave pública al archivo Authorized_keys (que debe estar dentro de la ruta de instalación de su servidor, en mi caso
Windows/System32/OpenSSH/.ssh
) sin extensiones.4. Agregue las claves generadas que acaba de crear al agente usando ssh-add.
Los pasos anteriores son más o menos la configuración de un servidor SSH de línea de comando, que creo que el OP ya hizo para que su conexión funcione a través del terminal. Para configurar MySQL Workbench 8, debe hacer exactamente lo mismo, excepto que debe convertir private_key.pem a un formato OpenSSH antes de moverlos
Users/myUser/.ssh
yOpenSSH_instalation_path/.ssh
User/myUser/.ssh
yOpenSSH_instalation_path/.ssh
OpenSSH_instalation_path/.ssh
carpeta.User/myUser/.ssh
.ACTUALIZACIÓN: deberá configurar lo siguiente en su archivo sshd_config:
PermitRootLogin sin contraseña
PubkeyAuthentication sí
PasswordAuthentication no
PermitEmptyPasswords no
AllowTcpForwarding sí
POR FAVOR LEE:
Soy un analista inexperto, así que si un usuario más avanzado sabe cuál de las dos carpetas .ssh es la correcta, díganos. Encuentro que OpenSSH es un poco ambiguo sobre esto.
Esto funcionó para mí mientras configuraba un entorno de desarrollo local utilizando localhost únicamente. Solo con fines de aprendizaje.
Es posible que desee agregar myUser @ localhost a los usuarios de MySQL Workbench antes de probar la conexión.
Si realmente es necesario, puedo agregar imágenes.
fuente
En mi caso, el problema que tuve que cambiar a un nombre de dominio válido o IP en lugar de un host personalizado localmente resuelto.
La resolución de host personalizada falla (
/etc/hosts
)Trabajo con un mecanismo de resolución de hosts locales que definió:
Por alguna razón, con
MySQL 5.2.47
elLinux Mint 14 (Nadia)
cual es similar alUbuntu 12.10 (Quantal)
del mecanismo de solución no funciona .Solución
Simplemente cambie a un nombre de dominio público , como
my-website.com
resolver el problema.fuente
Consulte aquí una lista de recursos para conectarse a varios destinos (Amazon RDS, Amazon EC2, Windows Azure y otros): http://forums.mysql.com/read.php?152,252640,252640#msg-252640 .
fuente
Tuve un problema similar, y esto puede ser obvio, pero revise las reglas de firewall en AWS. Tengo un rango de IP configurado, para restringir las conexiones del mundo exterior. Y la IP en mi oficina cambió, por lo que salió del rango de IP. Mi colega en otra oficina aún podía conectarse, así que pensé que el problema estaba en mi PC, pero el problema estaba en las reglas del firewall en AWS. Espero que ayude a alguien :)
fuente