Heim > Datenbank > MySQL-Tutorial > Wie kann ich über SSH-Tunneling in PHP eine sichere Verbindung zu einer Remote-MySQL-Datenbank herstellen?

Wie kann ich über SSH-Tunneling in PHP eine sichere Verbindung zu einer Remote-MySQL-Datenbank herstellen?

Barbara Streisand
Freigeben: 2024-11-27 11:37:10
Original
265 Leute haben es durchsucht

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

Einrichten sicherer Remote-MySQL-Verbindungen über SSH in PHP

In diesem Szenario stoßen wir auf eine Herausforderung beim Herstellen einer Verbindung zu einer Remote-MySQL-Datenbank mit SSH und PHP. Der Fehler „Zugriff nicht möglich“ bleibt bestehen, obwohl die erforderlichen Berechtigungen erteilt wurden.

Behebung des Problems

Um dieses Problem zu beheben, verwenden wir einen SSH-Tunneling-Ansatz. Dazu gehört die Herstellung einer sicheren Verbindung zum Datenbankserver über einen SSH-Proxy, normalerweise einen Jumpbox-Server. Dieses Setup bietet einen verschlüsselten Kanal für den Datenaustausch und mindert Sicherheitsrisiken, die mit der direkten Gefährdung des Datenbankservers verbunden sind.

SSH-Tunnelkonfiguration

  1. GUI-Tools: Erwägen Sie die Verwendung von Tools für grafische Benutzeroberflächen (GUI) wie Visual Studio Code oder TablePlus, die integrierte SSH-Tunneling-Unterstützung bieten. Sie vereinfachen den Prozess und verbessern die Benutzererfahrung.
  2. Befehlszeile:

    a. Richten Sie mit dem Schalter „-L“ einen lokalen Port-Weiterleitungstunnel auf Ihrer Workstation ein:

    ssh -fNg -L 3307:10.3.1.55:3306 [email protected] 
    Nach dem Login kopieren

    Wo:

    • 3307: Lokaler Port zum Annehmen von Verbindungen
    • 10.3.1.55: IP-Adresse des Remote-MySQL-Datenbankservers
    • 3306: MySQL-Datenbankserver Hafen

    b. Stellen Sie über den lokalen Port eine Verbindung zum Datenbankserver her:

    mysql -h 127.0.0.1 -P 3307 -u dbuser -p passphrase
    Nach dem Login kopieren

    Wo:

    • 127.0.0.1: Localhost (Ihre Workstation)
    • 3307: Lokaler Port eingerichtet im Schritt a
  3. PHP-Verbindung:

    Sobald der Tunnel eingerichtet ist, stellen Sie mit PHP wie folgt eine Verbindung zur MySQL-Datenbank her:

    <?php
       $smysql = mysql_connect("127.0.0.1:3307", "dbuser", "passphrase");
       mysql_select_db("db", $smysql);
    ?>
    Nach dem Login kopieren

Zusätzlich Überlegungen

  • Leiten Sie den Datenverkehr an eine interne Adresse in Ihrem Remote-Netzwerk weiter, um die Sicherheit zu erhöhen.
  • Verwenden Sie einen privaten Schlüssel zur Authentifizierung anstelle von Passwörtern.

Das obige ist der detaillierte Inhalt vonWie kann ich über SSH-Tunneling in PHP eine sichere Verbindung zu einer Remote-MySQL-Datenbank herstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage