Ich habe ein paar Skizzen gezeichnet
Die Maschine, auf der der Befehl ssh tunnel eingegeben wird (oder in Ihrem Fall: Putty with tunneling wird gestartet), heißt »your host« .
Einführung
lokal: -L Specifies that the given port on the local (client) host is to be forwarded to the given host and port on the remote side.
ssh -L sourcePort:forwardToHost:onPort connectToHost
bedeutet: verbinde dich mit ssh zu connectToHost
und leite alle Verbindungsversuche an den lokalen sourcePort
Port onPort
des aufgerufenen Rechners weiter forwardToHost
, der vom connectToHost
Rechner aus erreichbar ist.
Fernbedienung: -R Specifies that the given port on the remote (server) host is to be forwarded to the given host and port on the local side.
ssh -R sourcePort:forwardToHost:onPort connectToHost
bedeutet: verbinde dich mit ssh zu connectToHost
und leite alle Verbindungsversuche an den entfernten sourcePort
Port onPort
des angerufenen Rechners weiter forwardToHost
, der von deinem lokalen Rechner aus erreichbar ist.
Dein Beispiel
Das erste Bild zeigt Ihre Situation. Die blaue Box, die aufgerufen wird, your host
ist Ihr Windows-Computer, von dem aus Sie Putty auf Ihren Ubuntu-Server starten, der remotehost
in meinem Image aufgerufen wird. Verbindungen in dem grün Port (in Ihrer Fall Portnummer 4000
) an dem rosa MySQL Port weitergeleitet 3306
von der localhost
Ihrer Ubuntu - Server - Maschine (dh des Ubuntu - Server selbst).
Zum Einrichten mit Putty
Starten Sie Putty und geben Sie Ihre üblichen Verbindungseinstellungen ein (Hostname oder IP-Adresse). Navigieren Sie in der Baumstruktur auf der linken Seite zu
Verbindung → SSH → Tunnel
Erstellen Sie einen neuen lokalen Tunnel mit dem Quellport 4000
(123 im Bild) und dem Ziel localhost:3306
(localhost: 456 im Bild).
Vergessen Sie nicht, auf Hinzufügen zu klicken .
Navigieren Sie dann zurück zur Sitzung und klicken Sie auf Speichern , um Ihre Einstellungen für das nächste Mal beizubehalten. Jetzt können Sie die gespeicherte Verbindung verwenden, um sich bei Ihrem Server anzumelden. Nachdem Sie sich erfolgreich angemeldet haben, stellen Sie jedes Mal, wenn Sie eine Verbindung zu Port 4000 auf Ihrem Host herstellen, eine Verbindung zu Port 3306 auf dem Ubuntu-Server her.
Die einfache Antwort lautet "Ja". Beachten Sie jedoch, dass der Tunnel tatsächlich auf Ihrem Computer gestartet wurde. Die Funktionsweise besteht darin, dass Sie eine SSH-Verbindung zum Server herstellen (die sicher ist) und dann den SSH anweisen, einen Port auf Ihrer Seite abzuhören und alle eingehenden Verbindungen weiterzuleiten - zu einem bestimmten Port auf einer bestimmten Hostadresse auf der Serverseite. Das Ziel des Tunnels muss nicht derselbe Server sein - es kann sich um eine beliebige andere gültige Adresse handeln, die - falls nicht der Server, auf dem der SSH-Server selbst ausgeführt wird - die eingehende Verbindung so sieht, als ob sie vom SSH-Server statt vom SSH-Server stammte von Ihrem Kunden.
Um es einzurichten, öffnen Sie den Putty-Konfigurationsdialog, wählen Sie die Einstellung der Verbindung, die Sie normalerweise für den Zugriff auf Ihren Server verwenden, und klicken Sie auf "Laden" (und nicht auf "Öffnen"). Navigieren Sie dann in der Baumstruktur auf der linken Seite zu Connection-> SSH-> Tunnels und erstellen Sie einen neuen "lokalen" Tunnel mit dem Quellport 4000 und dem Ziel "localhost: 3306" (da die Zieladresse auf dem Server aufgelöst wird, Aus Sicht des Servers befindet sich der MySQL-Port auf dem Localhost. Navigieren Sie dann zurück zu "Sitzung" und klicken Sie auf "Speichern", um Ihre Einstellungen für das nächste Mal beizubehalten. Jetzt können Sie die gespeicherte Verbindung verwenden, um sich bei Ihrem Server anzumelden. Nachdem Sie sich erfolgreich angemeldet haben, stellen Sie jedes Mal, wenn Sie eine Verbindung zu Port 4000 auf Ihrem Computer herstellen, eine Verbindung zu Port 3306 auf dem Server her.
Wenn Sie sich ernsthaft mit Tunneln beschäftigen und einen MS-Windows-Client ausführen , empfehle ich Ihnen, sich den Putty Tunnel Manager anzusehen, der Putty zum einfachen Einrichten und Ausführen von Tunneln verwendet, ohne dass eine offene Putty-Konsole erforderlich ist.
quelle