VNC-Verbindung: Firewall mit VPS umgehen

1382
user1419674

Ich habe einen Freund, der weit weg wohnt und technische Unterstützung benötigt. Bisher konnte ich das Problem nicht telefonisch diagnostizieren, also suchte ich nach einer VNC-Verbindung, um seinen Computer aus der Ferne zu beheben. Wir haben beide Macs.

Das Problem ist, dass er sich hinter einer Firewall befindet, und alle Ports werden gefiltert (mit nmap geprüft). Da ich auch hinter einer Firewall bin, habe ich mich gefragt, ob es möglich ist, eine Art Weiterleitungsverbindung zu meinem Linode-VPS aufzubauen. Das heißt, wir würden beide eine Verbindung zu meinem VPS herstellen, und der gesamte VNC-Datenverkehr würde über den VPS an den Computer meines Freundes weitergeleitet (und da wir beide Verbindungen zum VPS hergestellt hatten, gab es keine Probleme mit Firewalls).

1

1 Antwort auf die Frage

1
EightBitTony

Sie benötigen einen Reverse-SSH-Tunnel und einen regulären SSH-Tunnel, und Sie verbinden sie in der Mitte.

Wir haben 3 Maschinen. Freund, Server, Mac.

Von Friend aus stellen Sie über SSH eine Verbindung zum Server her und richten einen Tunnel in umgekehrter Richtung ein.

ssh -R 9999:localhost:5900 user@Server

Dadurch wird eine ssh-Sitzung vom Freund zum Server erstellt. Auf dem Server hört er an Port 9999 (an der localhost-Adresse) zu und leitet alles an diesem Port an Friend an Port 5900 zurück (durch den ssh-Tunnel, damit die Firewall ihn nicht blockiert).

Bei Friend müssen Sie nun sicherstellen, dass ein VNC-Server den Port 5900 überwacht (dies ist der Standardport für VNC-Server).

Dann machen Sie von Mac aus

ssh -L 9999:localhost:9999 user@Server

Das tunnelt alles auf Port 9999 an Ihrem Ende zu Port 9999 auf dem localhost auf dem Server. Da 9999 auf dem Server dann an Friend weitergeleitet wird, haben Sie die Tunnel miteinander verbunden.

Jetzt können Sie einen VNC-Client auf einem Mac öffnen und ihn an Port 9999 anschließen (dh, wenn Sie gefragt werden, mit welcher Verbindung Sie sich verbinden möchten 127.0.0.1:9999).

Der ssh-Daemon auf dem Server muss die Portweiterleitung unterstützen, damit dies funktioniert.

Sie können dies mit nur einem Tunnel tun (der umgekehrte Tunnel von Friend verwendet ein geringfügig anderes Format), aber das gefährdet den Friend-Computer, da dadurch jeder VNC-Freund an Friend teilnehmen kann, indem er sich mit dem Port der öffentlichen IP-Adresse des Servers verbindet. Auf diese Weise können nur Sie eine Verbindung herstellen.

This answer was perfect. Thank you! user1419674 vor 10 Jahren 0
Das ist gut. Ich möchte auch darauf hinweisen, dass Sie bei der Option single tunnel ** bind_address ** angeben müssen (möglicherweise aktivieren Sie ** GatewayPorts **), da die Weiterleitung standardmäßig auf die Loopback-Schnittstelle beschränkt ist. doc vor 8 Jahren 0