Im Artikel „Remote-Desktop Ubuntu 22.04“ hatte ich erklärt, wie es möglich ist, sich mit einem Ubuntu-Desktop über VNC mit einem anderen Ubuntu-Rechner zu verbinden. Natürlich darf man auch hier die Sicherheit nicht aus dem Auge verlieren, obwohl das Thema Verschlüsselung im heimischen lokalen Netzwerk eher eine untergeordnete Rolle spielen dürfte.
Wenn man allerdings über das Internet auf einen entfernten PC oder ein Notebook zugreifen möchte, sieht das schon anders aus. Das Wiki von ubuntuusers.de schreibt zur Nutzung von VNC über Remmina Folgendes:
Remmina ist eine Fernwartungssoftware, die die Protokolle VNC, NX, RDP, XDMCP, SPICE, HTTP/HTTPS, SSH sowie SFTP unterstützt. Es ist möglich, eine Verbindung durch einen SSH-Tunnel zu leiten, was besonders sinnvoll ist, wenn man normalerweise unverschlüsselte Protokolle wie VNC über das Internet einsetzen möchte.
Was kann man nun tun?
Inspiriert durch einen entsprechenden Hinweis in einem Kommentar, im zuvor erwähnten Beitrag, möchte ich nun eine sicherere Vorgehensweise aufzeigen, um von einem Rechner auf einen anderen über VNC zuzugreifen. Es handelt sich dabei um die Verbindung vom Client zum Server mit einem SSH-Tunnel.
Einstellung am Host
Da der Server über das Internet erreichbar sein soll, muss zuerst die Voraussetzung hierzu über ein Portforwarding im Router geschaffen werden. In diesem Fall ist es der Port 5900 (siehe Beispiel).
Einstellung am Client
Genau wie im Artikel „Remote-Desktop Ubuntu 22.04“ gezeigt, wird am Client in Remmina die IP des Host eingetragen. Da dieser sich nicht im lokalen Netzwerk befindet, tippt man hier nun die öffentliche IP-Adresse in den Tab Grundlegend ein.
Im Anschluss wechselt man in den Reiter SSH-Tunnel, aktiviert diesen und trägt die öffentliche IP des Client ein. Damit das alles funktioniert, ist auch am Router des Client ein Portforwarding auf SSH nötig. I.d.R. ist das der Port 22. Wenn dieser jedoch dauerhaft geöffnet bleiben soll, empfehle ich diesen wie hier beschrieben zu ändern, da der bekannte SSH-Port 22 sehr oft für Angriffe aus dem Internet genutzt wird.
Sind alle Einstellungen korrekt, kann man sicher via SSH-Tunneling auf den entfernten Rechner zugreifen.