Android

Comment se connecter à mysql via ssh tunnel

02 Connecting to MySQL via SSH

02 Connecting to MySQL via SSH

Table des matières:

Anonim

Par défaut, le serveur MySQL n'écoute que sur localhost, ce qui signifie qu'il n'est accessible que par des applications s'exécutant sur le même hôte.

Cependant, dans certaines situations, vous souhaiterez peut-être vous connecter au serveur à partir d'emplacements distants. Une option serait de configurer le serveur MySQL pour autoriser les connexions à distance, mais cela nécessite des privilèges administratifs et cela peut entraîner des risques de sécurité.

Une alternative plus sécurisée serait de créer un tunnel SSH du système local au serveur. Le tunneling SSH est une méthode de création d'une connexion SSH cryptée entre un client et une machine serveur à travers laquelle les ports de services peuvent être relayés.

Dans ce guide, nous expliquerons comment créer un tunnel SSH et se connecter au serveur MySQL à partir de clients distants. Les mêmes instructions s'appliquent à MariaDB.

Conditions préalables

  • SSH Client: accès SSH au système sur lequel le serveur MySQL s'exécute.

Créer un tunnel SSH sur Linux et macOS

Le client ssh est préinstallé sur la plupart des systèmes Linux et Unix.

ssh -N -L 3336:127.0.0.1:3306 @

Les options utilisées sont les suivantes:

  • -N - Indique à SSH de ne pas exécuter de commande à distance. -L 3336:127.0.0.1:3306 - Crée une redirection de port locale. Le port local ( 3306 ), l'IP de destination ( 127.0.0.1 ) et le port distant ( 3306 ) sont séparés par deux points (:). @ - L'adresse IP de l'utilisateur et du serveur SSH distant. Pour exécuter la commande en arrière-plan, utilisez l'option -f Si le serveur SSH écoute sur un port autre que 22 (par défaut), spécifiez le port avec l'option -p .

Une fois que vous exécutez la commande, vous serez invité à entrer votre mot de passe utilisateur SSH. Après l'avoir entré, vous serez connecté au serveur et le tunnel SSH sera établi. C'est une bonne idée de configurer une authentification basée sur une clé SSH et de se connecter au serveur sans entrer de mot de passe.

Vous pouvez maintenant pointer le client MySQL de votre machine locale vers 127.0.0.1:3336 saisir les informations d'identification de connexion à la base de données distante et accéder au serveur MySQL.

Par exemple, pour vous connecter au serveur MySQL en utilisant le client mysql ligne de commande, vous émettez:

mysql -u MYSQL_USER -p -h 127.0.0.1

MYSQL_USER est l'utilisateur distant MySQL ayant des privilèges pour accéder à la base de données.

Lorsque vous y êtes invité, entrez le mot de passe utilisateur MySQL.

Pour terminer le tunnel SSH, tapez CTRL+C dans la console sur laquelle le client ssh s'exécute.

Créer un tunnel SSH sous Windows

Les utilisateurs de Windows devront d'abord télécharger et installer un programme client SSH. Le client Windows SSH le plus populaire est PuTTY. Vous pouvez télécharger PuTTY ici.

Effectuez les étapes suivantes pour créer un tunnel SSH vers le serveur MySQL avec PuTTY:

  1. Lancez Putty et entrez l'adresse IP du serveur dans le champ Host name (or IP address) :

    Conclusion

    MySQL, le serveur de base de données open source le plus populaire, n'écoute les connexions entrantes que sur localhost. La création d'un tunnel SSH vous permet de vous connecter en toute sécurité au serveur MySQL distant à partir de votre client local.

    mysql mariadb ssh