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
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]
Wo:
b. Stellen Sie über den lokalen Port eine Verbindung zum Datenbankserver her:
mysql -h 127.0.0.1 -P 3307 -u dbuser -p passphrase
Wo:
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); ?>
Zusätzlich Überlegungen
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!