MySQL Verbindung über SSH Tunnel Webhosting

  • Hallo zusammen,

    ich stehe vor einem Problem bezüglich des externen Datenbankzugriffs auf mein Reseller Webhosting 2000 für eine Kundendomain.

    Ich habe eine Datenbank erstellt, diese ist extern erreichbar:

    xxxxx.webhosting.systems (extern)

    10.10.10.10 (intern)

    db_user

    db_passw

    Da diese Verbindung nicht SSL-verschlüsselt ist, möchte ich einen sicheren Weg finden, um von außen darauf zuzugreifen, ohne extra API-Schnittstellen.

    Mein Ansatz war, eine SSH-Verbindung zum Webhosting einzurichten. Über SSH kann ich mich auch problemlos mit mysql -h 10.10.10.10:3306 -u db_user -p auf den MySQL-Server verbinden.

    Das eigentliche Problem tritt auf, wenn ich versuche, einen SSH-Tunnel (Putty, lokaler Port 3306 auf 10.10.10.10:3306) einzurichten. Die MySQL-Verbindung über diesen Tunnel scheitert mit einem Handshake-Fehler.  MySQL: Cannot connect to Server via SSH. 'reading initial communication packet', system error: 0 

    Ich bin online auf diesen ServerFault-Beitrag gestoßen: Link: Server Fault

    Dort wird unter anderem AllowTcpForwarding als mögliche Ursache genannt.

    Leider ist es mir in der Chroot-Umgebung meines Webhostings nicht möglich, die SSH-Konfiguration zu ändern und zu überprüfen, ob AllowTcpForwarding standardmäßig aktiviert ist.

    Hat jemand ähnliche Erfahrungen gemacht oder eine Idee, wie ich dieses Problem lösen kann?

    Gibt es Workarounds oder andere empfohlene Methoden für einen sicheren, externen Datenbankzugriff für das Webhosting?

    Vielen Dank für jede Antwort.

  • Zur hilfreichsten Antwort springen
  • Mir ist aus deinen Schilderungen noch nicht ganz klar, wo genau du den Fehler MySQL: Cannot connect to Server via SSH. 'reading initial communication packet', system error: 0 bekommst:

    Von remote, wenn du via Putty "nur" den SSH Tunnel, keine Session, aufgemacht hast?

  • Da hat die Benachrichtigung nicht ganz funktioniert, sry für die späte Antwort.

    Was spricht gegen die Verwendung von PHPMyAdmin, ggf. mit Passwortschutz davor?

    An sich nichts, möchte aber ungern alles händisch eintragen und habe ein python script dafür.

    Mir ist aus deinen Schilderungen noch nicht ganz klar, wo genau du den Fehler MySQL: Cannot connect to Server via SSH. 'reading initial communication packet', system error: 0 bekommst:

    Von remote, wenn du via Putty "nur" den SSH Tunnel, keine Session, aufgemacht hast?

    Wenn ich mit HeidiSQL verbinden möchte, mein vorgang ist eigentlich gleich zum community tutorial Secure Access to a MySQL-Server

    Nur kurz zur Bestätigung deiner Vermutung: Das geht nicht, weil der SSH-Server keine Portweiterleitungen zulässt. Das kannst du bei einem Webhostingpaket nicht ändern.

    So isses. Bei unseren regulären Webhostings steht explizit AllowTCPForwarding no.

    Habe ich mir gedacht, Danke für die Bestätigung!
    Dann überlege ich mir eine Alternative.

  • simmerl 21. Juli 2025 um 13:25

    Hat einen Beitrag als hilfreichste Antwort ausgewählt.