Öffnen Sie den SSH-Tunnel und stellen Sie eine Verbindung zu MySQL her

953
Tuco

Hallo, ich versuche, PuTTY zu verwenden, um einen SSH-Tunnel zu öffnen und eine Verbindung zu einem Remote-MySQL-Server herzustellen.

Kitt:

  1. Remote-SSH-Server-IP und Port

  2. MySQL-Port auf dem Remote-Server

  3. Tunnel: Lokale Adresse und Port auf lokalem Computer (Ich habe MySQL Server lokal installiert, daher verwende ich 3307 und nicht 3306 auf dem lokalen Computer, sodass kein Konflikt mit dem lokalen MySQL Server besteht.)

Öffnen Sie den SSH-Tunnel und stellen Sie eine Verbindung zu MySQL her Öffnen Sie den SSH-Tunnel und stellen Sie eine Verbindung zu MySQL her

Wenn ich auf "Öffnen" klicke, fragt PuTTY nach einem Benutzernamen und einem Kennwort, die ich zur Verfügung gestellt habe. Wenn die Anmeldung erfolgreich ist, schließt sich PuTTY sofort ohne Nachrichten oder Fehler

putty.log zeigt das:

=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2017.08.23 07:29:08 =~=~=~=~=~=~=~=~=~=~=~=  login as: myUser Using keyboard-interactive authentication. Password for myUser@Server: Could not chdir to home directory /home/myUser: No such file or directory This service allows sftp connections only. 

Wenn ich jetzt mit der Option eine Verbindung zu MySQL Workbench herstelle Standard TCP/IP over SSH, funktioniert es ...

Öffnen Sie den SSH-Tunnel und stellen Sie eine Verbindung zu MySQL her

Ich habe in Foren gelesen, dass die Lösung darin besteht, die Optionen auf dem SSH-Server zu optimieren, aber ich habe keine Kontrolle über den SSH-Server.

Obwohl ich WorkBench verwenden kann, um eine Verbindung zur Datenbank herzustellen, besteht das Ziel hier darin, Putty den SSH-Tunnel öffnen zu lassen.

Wie kann ich den SSH-Tunnel mit PuTTY öffnen? Was mache ich falsch? Wie kann ich dieses Problem lösen, ohne den Server zu ändern?


Verwenden von plink: das gleiche Ergebnis erzielen

Öffnen Sie den SSH-Tunnel und stellen Sie eine Verbindung zu MySQL her


BEARBEITEN

Ich habe die Option " Keine Shell oder keinen Befehl starten" deaktiviert, wie Martin vorgeschlagen hat. Jetzt erhalte ich keinen SFTP-Fehler, aber nach Eingabe des Kennworts passiert nichts

Das Protokoll schreibt nur das, was ich auf dem Bildschirm sehe:

=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2017.08.23 10:07:25 =~=~=~=~=~=~=~=~=~=~=~= login as: user Using keyboard-interactive authentication. Password for user@server: 

EDIT 2 - Gelöst

Nach dem Rat von Martin Prikryl:

Ich habe die Ports getauscht: L3307 -> 127.0.0.1:3306

Öffnen Sie den SSH-Tunnel und stellen Sie eine Verbindung zu MySQL her

Putty Event Log sagt jetzt: Access granted - Local port 3307 forwarding to 127.0.0.1:3306

Jetzt kann MySQL WorkBench 127.0.0.1:3307erfolgreich eine Verbindung herstellen

Vielen Dank!

Falls Sie dies mit PLINK machen müssen, habe ich es so gemacht:

plink.exe SSH_SERVER_IP_OR_ADDRESS -P 2204 -ssh -l USER -pw PASSWORD -L 3307:127.0.0.1:3306 -N -v 
1
Sie haben 2 und 3 anders herum beschriftet. Martin Prikryl vor 6 Jahren 0

1 Antwort auf die Frage

1
Martin Prikryl

Probieren Sie Folgendes aus:
Verbindung> SSH> Protokolloptionen> Starten Sie keine Shell oder keinen Befehl .


Sie haben auch einen lokalen und einen entfernten Port des Tunnels ausgetauscht.

Es sollte sein:

L3307 => 127.0.0.1:3306 
Ich erhalte den SFTP-Fehler nicht mehr, aber nach der Eingabe des Passworts passiert nichts Tuco vor 6 Jahren 0
Klingt gut für mich. Was hast du erwartet? Es wurde gerade ein Tunnel geöffnet (überprüfen Sie das PuTTY-Ereignisprotokoll). Nun müssen Sie sich mit dem Tunnel verbinden. Martin Prikryl vor 6 Jahren 0
Eigentlich hätte ich die Frage vielleicht nicht verstanden. Was willst du mit dem Tunnel machen? Warum erstellen Sie einen Tunnel, wenn die Workbench einen eigenen erstellen kann? Martin Prikryl vor 6 Jahren 0
Ich habe eine Bestätigung wie "Verbindung erfolgreich" oder so etwas erwartet Tuco vor 6 Jahren 0
Wir müssen zu Entwicklungszwecken eine Verbindung zur Datenbank herstellen, wir dürfen den Tunnel nicht innerhalb der App erstellen, sondern müssen extern erstellt werden Tuco vor 6 Jahren 0
Sie können das im PuTTY-Ereignisprotokoll sehen. Martin Prikryl vor 6 Jahren 0
MySQL Workbench zeigt einen Fehler an, wenn versucht wird, eine direkte Verbindung zu 127.0.0.1:3307 herzustellen. Dies lässt mich vermuten, dass der Tunnel ausgefallen ist Tuco vor 6 Jahren 0
Sie müssen eine Verbindung zu 3306 herstellen. Ich habe bereits geschrieben, dass Sie 2 und 3 anders herum beschriftet haben. Martin Prikryl vor 6 Jahren 0
Log zeigt es nicht an Tuco vor 6 Jahren 0
Oder Sie müssen tatsächlich 3306 und 3307 in der PuTTY-Konfiguration austauschen - Sie haben es falsch. Martin Prikryl vor 6 Jahren 0
Also zeig uns, was das Protokoll zeigt. Martin Prikryl vor 6 Jahren 0
Aktualisierte die Antwort, lassen Sie mich den Austausch durchführen Tuco vor 6 Jahren 0
Ich habe nach dem PuTTY ** - Ereignisprotokoll gefragt, nicht nach dem ** Sitzungsprotokoll. Klicken Sie mit der rechten Maustaste auf den Titel des PuTTY-Konsolenfensters und wählen Sie "Ereignisprotokoll". Martin Prikryl vor 6 Jahren 1
Danke Martin Er sagt, dass Zugriff gewährt -> Lokaler Port 3306 an 127.0.0.1:3307 weitergeleitet wurde Tuco vor 6 Jahren 0
MySQL kann immer noch keine Verbindung herstellen, daher habe ich es immer noch falsch Tuco vor 6 Jahren 0
ES FUNKTIONIERT MARTIN, DANKE. Es funktioniert! Ich werde die Frage aktualisieren und Ihre Antwort markieren Tuco vor 6 Jahren 0