Maison > base de données > tutoriel mysql > Comment se connecter en toute sécurité à une base de données MySQL distante via le tunneling SSH en PHP ?

Comment se connecter en toute sécurité à une base de données MySQL distante via le tunneling SSH en PHP ?

Barbara Streisand
Libérer: 2024-11-27 11:37:10
original
288 Les gens l'ont consulté

How to Securely Connect to a Remote MySQL Database via SSH Tunneling in PHP?

Établissement de connexions MySQL distantes sécurisées via SSH en PHP

Dans ce scénario, nous rencontrons un défi pour établir une connexion à une base de données MySQL distante en utilisant SSH et PHP. L'erreur « Impossible d'accéder » persiste malgré l'octroi des autorisations nécessaires.

Résoudre le problème

Pour résoudre ce problème, nous utilisons une approche de tunneling SSH. Cela implique de créer une connexion sécurisée au serveur de base de données via un proxy SSH, généralement un serveur Jumpbox. Cette configuration fournit un canal crypté pour l'échange de données, atténuant les risques de sécurité associés à l'exposition directe du serveur de base de données.

Configuration du tunnel SSH

  1. Outils GUI : Pensez à utiliser des outils d'interface utilisateur graphique (GUI) tels que Visual Studio Code ou TablePlus qui offrent une prise en charge intégrée du tunneling SSH. Ils simplifient le processus et améliorent l'expérience utilisateur.
  2. Ligne de commande :

    a. Établissez un tunnel de redirection de port local sur votre poste de travail à l'aide du commutateur '-L' :

    ssh -fNg -L 3307:10.3.1.55:3306 [email protected] 
    Copier après la connexion

    Où :

    • 3307 : Port local pour accepter les connexions
    • 10.3.1.55 : Adresse IP du serveur de base de données MySQL distant
    • 3306 : Adresse IP du serveur de base de données MySQL port

    b. Connectez-vous au serveur de base de données via le port local :

    mysql -h 127.0.0.1 -P 3307 -u dbuser -p passphrase
    Copier après la connexion

    Où :

    • 127.0.0.1 : Localhost (votre poste de travail)
    • 3307 : Port local établi au pas a
  3. Connexion PHP :

    Une fois le tunnel établi, connectez-vous à la base de données MySQL en utilisant PHP comme suit :

    <?php
       $smysql = mysql_connect("127.0.0.1:3307", "dbuser", "passphrase");
       mysql_select_db("db", $smysql);
    ?>
    Copier après la connexion

Supplémentaire Considérations

  • Transférez le trafic vers une adresse interne sur votre réseau distant pour améliorer la sécurité.
  • Utilisez une clé privée pour l'authentification au lieu de mots de passe.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal