Versuch, SSH-Tunneling zum MySQL-Server für den MySQL-Abfragebrowser einzurichten

Versuch, SSH-Tunneling zum MySQL-Server für den MySQL-Abfragebrowser einzurichten

Ich versuche, auf einem Remote-Webserver SSH-Tunneling zu einem anderen MySQL-Server einzurichten, damit die Datenbank problemlos mit dem MySQL Query Browser durchsucht werden kann. Ich folge dieser Seite, kann aber keine Verbindung zum MySQL-Server herstellen.http://www.howtogeek.com/howto/ubuntu/access-your-mysql-server-remotely-over-ssh/

Was ich getan habe:

  1. mit Putty per SSH am Webserver angemeldet.
  2. eingegeben ssh -L 33060:[database]:3306 [myusername]@[webserver_address], wobei [...]s durch die tatsächlichen Informationen ersetzt werden.
  3. Ich wurde nach einem Passwort gefragt und habe es eingegeben. Daraufhin erhielt ich die folgende Meldung. Die Anmeldung scheint also erfolgreich gewesen zu sein.

    Socket: Protokoll nicht unterstützt

    Letzte Anmeldung: .... 2012 ab .... Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994 The Regents of the University of California. Alle Rechte vorbehalten.

    FreeBSD 7.1-RELEASE....

    Willkommen bei FreeBSD!

  4. Öffnen Sie den MySQL Query Browser in Windows und geben Sie ein

Server Host:lokaler Host Port:33060 UserName: mein Benutzername PassWord: mein Passwort

Und es heißt:

Could not connect to the specified instance.
MySQL Error Number 2003
Can't connect to MySQL Server on 'localhost' (10061)

Entschuldigen Sie, wenn das zu einfach ist. Danke für Ihre Informationen.

Antwort1

Da Sie von Ihrem Windows-Host, auf dem Sie Putty verwenden, auf ein Remote-System zugreifen möchten, müssen Sie den Tunnel innerhalb von Putty und nicht auf dem Remote-System erstellen.

Das Einrichten eines Tunnels in Putty ist ziemlich unkompliziert.

  • Offener Kitt
  • Laden Sie Ihre gespeicherte Sitzung (sofern Sie eine haben) oder geben Sie Verbindungsinformationen ein.
  • Scrollen Sie nach unten zu Verbindung -> SSH -> Tunnel
  • Stellen Sie den Quellport auf33060
  • Legen Sie als Ziel die IP des Datenbankservers fest, gefolgt :3306vom MySQL-Port. Also etwa so 192.168.1.1:3306:
  • Klicken Sie auf „Hinzufügen“.
  • Klicken Sie zurück auf die Registerkarte „Sitzung“ und wählen Sie „Speichern“ oder klicken Sie einfach auf „Öffnen“, um die Verbindung herzustellen.

Kitttunnel-Seite

Sobald die Verbindung hergestellt ist, starten Sie Ihre Datenbankanwendung und versuchen Sie von der Anwendung aus, eine Verbindung zu einem Server herzustellen, der auf lauscht 127.0.0.1:33060.

Antwort2

BEARBEITEN: Habe gerade gesehen, dass Sie eine falsche Verbindungszeichenfolge verwenden:

ssh -L 33060:[database]:3306 [myusername]@[webserver_address

Versuche es mit:

ssh -4 -L 33060:localhost:3306 [myusername]@[webserver_address

Die Option -4 erzwingt die Verwendung von IPv4 und der lokale Host ist das Ziel für den Bind-Port (in Ihrem Fall MUSS es der lokale Host sein).

Stellen Sie eine Verbindung mit localhost:33060 und Remote-Anmeldeinformationen her.

Das sollte funktionieren!

Andernfalls überprüfen Sie hierzu die Konfiguration Ihres SSH-Daemons auf Ihrem Server:

AllowTcpForwarding yes

Andernfalls stellen Sie mit dieser ssh -vv user@hostOption eine Verbindung zu Ihrem Server her. Dadurch erhalten Sie weitere Informationen. Wenn Sie sehen, dass der Bindungsport fehlgeschlagen ist, sollten Sie zumindest den Grund sehen.

verwandte Informationen