2 votes

MySQL ne peut pas se connecter via un tunnel SSH -- Connexion refusée

Je tente de me connecter à MySQL depuis mon interface utilisateur MySQL (Sequel Pro si cela importe) en utilisant un tunnel SSH. Cependant, je continue à recevoir l'erreur suivante (mysql.log) :

[Note] Connexion interrompue 98 à la base de données : 'exemple' utilisateur : 'exemple_utilisateur' hôte : 'localhost' (Une erreur s'est produite en lisant les paquets de communication)

Les paramètres de ma connexion ressemblent à ce qui suit :

  • Hôte SSH : exemple.com
  • Port SSH : 22
  • Utilisateur SSH : exemple_utilisateur
  • Mot de passe SSH : ********
  • Hôte DB : 127.0.0.1
  • Utilisateur DB : exemple_utilisateur
  • Mot de passe DB : *******
  • Nom de la DB : exemple
  • Port DB : 3306

Je peux me connecter à SSH sans problème. Je peux également me connecter à MySQL depuis l'intérieur de SSH (en utilisant mysql -u exemple_utilisateur -p -h 127.0.0.1)

Cependant, le tunnel ne fonctionne pas. J'ai AllowTcpForwarding yes dans le fichier sshd_config. La configuration MySQL a bind-address = 127.0.0.1.

J'utilise 16.04 LTS et MySQL Community Edition sur mon serveur.

Qu'est-ce que je fais de travers ? C'est la première fois que je rencontre ce problème.

2voto

Mikhail Khirgiy Points 1993

Vous pouvez créer plusieurs tunnels via la commande sur le poste de travail par exemple:

ssh -L 10080:127.0.0.1:80 -L 10006:127.0.0.1:3306 user@server

Il y a: 127.0.0.1 - adresse IP de destination du tunnel pour se connecter depuis le serveur, 80 et 3306 ports de destination, 10080 et 10006 - ports du poste de travail local. Cela vous permettra de vous connecter au serveur MySql et au serveur Http via l'interface locale du serveur. Exécutez la commande mysql -p -u db_user -P 10006 -h 127.0.0.1 database_name sur le poste de travail pour vous connecter au serveur MySql. Vous pouvez vous connecter à l'interface web de PhpMyAdmin, autorisée uniquement depuis 127.0.0.1. Pour ce faire, il suffit d'écrire l'adresse http://127.0.0.1:10080 dans votre navigateur.

0voto

Jade Steffen Points 1

J'ai eu un problème similaire, et selon cette réponse, la solution était de supprimer l'utilisateur 'any'.

Il semble que MySQL fait une distinction entre un utilisateur se connectant via localhost et 127.0.0.1, ce qui fait partie du problème si je comprends bien.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X