Wie erstelle ich eine Remote-Verbindung (SSH-Tunnel) mit Putty / SSH?

7

Ich versuche mit Putty einen Tunnel zwischen einem Server und einem Laptop herzustellen. Das Problem ist, da der Laptop keine öffentliche IP-Adresse hat, muss ich eine umgekehrte Verbindung herstellen. Aber ich weiß wirklich nicht, wie ich das machen soll.

Lassen Sie mich zeigen, was ich will:

SERVER (PORT: 6000) ----------> LAPTOP (PORT: 7000)

aber da der Laptop keine öffentliche IP-Adresse hat muss ich gerne machen

SERVER (PORT: 6000) <---------- LAPTOP (PORT: 7000)

Können Sie mir bitte sagen, was ich als Quellport, Ziel usw. schreiben soll?

Glorfindel
quelle

Antworten:

8

Hängt davon ab, welches Setup Sie möchten:

SETUP 1) Server lauscht

                              ssh tunel             LAN destination   
SERVER (listen on port 6000) ==========> LAPTOP -----> ip:port

(LAN-Ziel könnte auch localhost sein: Port zum Anschließen des Laptops selbst)

PUTTY SETUP : Klicken Sie mit der rechten Maustaste auf den Titel des Kittfensters , wählen Sie Einstellungen / Tunnel ändern und geben Sie Folgendes ein:

source port: 6000
destination: ip:port (or hostname:port)
select "Remote"

SSH: ssh -R 6000: Hostname: Port

SETUP 2) Laptop hört zu

                              ssh tunel              destination   
LAPTOP (listen on port 7000) ==========> SERVER -----> ip:port

Auch hier könnte das Ziel localhost: port sein, um eine Verbindung zum Server selbst herzustellen.

PUTTY-Setup :

source port: 7000
destination: ip:port (or hostname:port)
select "Local"

SSH: ssh -L 7000: Hostname: Port

In beiden Fällen können Sie auch angeben (im Kitt durch ein Kontrollkästchen), ob der abhörende LAPTOP / SERVER auch Verbindungen von anderen Hosts akzeptiert.

Tomas
quelle
0

Die Richtung Ihrer Pfeile hat keine Beziehung zu dem Computer mit öffentlich routbaren IP-Adressen. Sie müssen wissen, in welche Richtung Ihr Pfeil gehen soll, basierend auf dem Problem, das Sie lösen möchten. Die Verbindung wird immer von Ihrem Laptop aus initiiert (da sie nicht direkt vom anderen Computer aus adressiert werden kann). Sie verwenden jedoch das eine oder andere Argument für die Verbindungsweiterleitung, je nachdem, wie die Portweiterleitung funktionieren soll.

Da ich es nicht weiß putty, gebe ich die entsprechenden Befehle von OpenSSH ; hoffentlich ist es einfach, die entsprechenden Optionen in den GUI-Konfigurationsfeldern von zu finden putty.

Wenn Sie möchten, dass Verbindungen hergestellt laptop:7000werden server:6000, können Sie diese verwenden ssh -L 7000:server:6000. Wenn die Verbindungen von Ihrem Laptop stammen, können Sie dies leicht ändern in : ssh -L localhost:7000:server:6000. Dadurch wird der Anschluss Ihres Laptops auf Verbindungen beschränkt, die am Laptop selbst hergestellt wurden.

Mit diesem Befehl muss ein Programm auf dem Server den Port 6000auf Verbindungen überwachen. Programme auf Ihrem Laptop (oder an einer anderen Stelle in Ihrem lokalen Netzwerk) müssen eine Verbindung zu Ihrem localhost:7000(oder der nicht routbaren Adresse, dem Port Ihres Computers 7000) herstellen können, um die Verbindung herzustellen.

Wenn Sie möchten, dass Verbindungen hergestellt server:6000werden laptop:7000, können Sie diese verwenden ssh -R 6000:localhost:7000. Standardmäßig ist dies nur für Verbindungen offen, die auf dem Server-Computer initiiert wurden. Wenn Sie möchten, dass es für alle Computer geöffnet ist, die den Server kontaktieren können, können Sie es verwenden ssh -R *:6000:localhost:7000.

Mit diesem Befehl muss ein Programm auf dem Laptop den Port 7000auf Verbindungen überwachen. Programme auf Ihrem Server (oder an einer anderen Stelle im Netzwerk des Servers) müssen eine Verbindung server:6000(oder die routingfähige Adresse, den Port 6000) des Servers herstellen können, um die Verbindung herzustellen.

Ich habe Jahre gebraucht, um den Unterschied zwischen -Lund -RWeiterleitung von Verbindungen zu verstehen. Das -Lbesagt, dass Programme versuchen werden, L lokal zu verbinden , und das -Rsagt, dass Programme versuchen werden, R emotional zu verbinden . (Mach dir keine Sorgen über den Unterschied; ich muss ihn jedes Mal im Handbuch nachschlagen, wenn ich ihn brauche.)

Sarnold
quelle