Android

So stellen Sie eine Verbindung zu MySQL über SSH-Tunnel her

MySQL Connection über SSH in C# .NET - Tutorial

MySQL Connection über SSH in C# .NET - Tutorial

Inhaltsverzeichnis:

Anonim

Standardmäßig lauscht der MySQL-Server nur auf localhost, sodass nur auf Anwendungen zugegriffen werden kann, die auf demselben Host ausgeführt werden.

In einigen Situationen möchten Sie jedoch möglicherweise eine Verbindung zum Server von einem Remotestandort aus herstellen. Eine Möglichkeit wäre, den MySQL-Server so zu konfigurieren, dass Remoteverbindungen zugelassen werden. Dies erfordert jedoch Administratorrechte und kann Sicherheitsrisiken verursachen.

Eine sicherere Alternative wäre die Erstellung eines SSH-Tunnels vom lokalen System zum Server. SSH-Tunneling ist eine Methode zum Herstellen einer verschlüsselten SSH-Verbindung zwischen einem Client und einem Server, über die Service-Ports weitergeleitet werden können.

In diesem Handbuch wird erläutert, wie Sie einen SSH-Tunnel erstellen und von Remoteclients aus eine Verbindung zum MySQL-Server herstellen. Die gleichen Anweisungen gelten für MariaDB.

Voraussetzungen

  • SSH-Client.SSH-Zugriff auf das System, auf dem der MySQL-Server ausgeführt wird.

Erstellen Sie einen SSH-Tunnel unter Linux und macOS

Der ssh Client ist auf den meisten Linux- und Unix-basierten Systemen vorinstalliert.

ssh -N -L 3336:127.0.0.1:3306 @

Folgende Optionen werden verwendet:

  • -N - Weist SSH an, keinen Remote-Befehl auszuführen. -L 3336:127.0.0.1:3306 - Erstellt eine lokale Portweiterleitung. Der lokale Port ( 3306 ), die Ziel-IP ( 127.0.0.1 ) und der ferne Port ( 3306 ) sind durch einen Doppelpunkt ( 3306 getrennt. @ - Die IP-Adresse des entfernten SSH-Benutzers und -Servers. Um den Befehl im Hintergrund auszuführen, verwenden Sie die Option -f Wenn der SSH-Server einen anderen Port als 22 überwacht (Standardeinstellung), geben Sie den Port mit der Option -p .

Sobald Sie den Befehl ausführen, werden Sie aufgefordert, Ihr SSH-Benutzerkennwort einzugeben. Nach der Eingabe werden Sie am Server angemeldet und der SSH-Tunnel wird aufgebaut. Es ist eine gute Idee, eine SSH-Schlüssel-basierte Authentifizierung einzurichten und eine Verbindung zum Server herzustellen, ohne ein Kennwort einzugeben.

Jetzt können Sie Ihren lokalen MySQL-Client auf 127.0.0.1:3336 verweisen, die Anmeldeinformationen der entfernten Datenbank eingeben und auf den MySQL-Server zugreifen.

Wenn Sie beispielsweise über den Befehlszeilen-MySQL-Client eine Verbindung zum MySQL-Server herstellen möchten, geben Sie mysql :

mysql -u MYSQL_USER -p -h 127.0.0.1

Wobei MYSQL_USER der ferne MySQL-Benutzer ist, der über Zugriffsrechte auf die Datenbank verfügt.

Wenn Sie dazu aufgefordert werden, geben Sie das MySQL-Benutzerkennwort ein.

Um den SSH-Tunnel zu beenden, geben Sie CTRL+C in der Konsole ein, in der der ssh-Client ausgeführt wird.

Erstellen Sie einen SSH-Tunnel unter Windows

Windows-Benutzer müssen zuerst ein SSH-Client-Programm herunterladen und installieren. Der beliebteste Windows SSH-Client ist PuTTY. Sie können PuTTY hier herunterladen.

Führen Sie die folgenden Schritte aus, um mit PuTTY einen SSH-Tunnel zum MySQL-Server zu erstellen:

  1. Starten Sie Putty und geben Sie die IP-Adresse des Servers in das Feld Host name (or IP address) ein:

    Fazit

    MySQL, der beliebteste Open-Source-Datenbankserver, wartet auf eingehende Verbindungen nur auf localhost. Durch das Erstellen eines SSH-Tunnels können Sie von Ihrem lokalen Client aus eine sichere Verbindung zum Remote-MySQL-Server herstellen.

    mysql mariadb ssh