Installieren und konfigurieren Sie VNC unter Ubuntu 20.04

VNC steht für Virtual Network Computing. Es hilft Ihnen, Ihren Ubuntu-Computer aus der Ferne zu steuern. Der VNC-Server verwendet das Remote Frame Buffer Protocol (RFB), um einen anderen Computer fernzusteuern.

Wenn ein Mitarbeiter des technischen Supports Tastatur oder Maus verwendet, überträgt VNC die Signale von Tastatur und Maus an den Remote-Server. Es macht die Administration mit einer grafischen Benutzeroberfläche einfacher und komfortabler. Darüber hinaus ist VNC zuverlässiger als grafische SSH- und RDP-Verbindungen.

In diesem Tutorial werden die Schritte zum Einrichten und Konfigurieren von VNC unter Ubuntu 20.04 mit TightVNC beschrieben. Wenn Sie einen VNC auf der vorherigen Version von Ubuntu 16.04 ausführen, gibt es eine Anleitung dafür.

Desktop-Umgebung und VNC-Server installieren

Lassen Sie uns zunächst eine Desktop-Umgebung auf Ihrem Ubuntu-Server installieren, da sie nicht standardmäßig installiert ist. Es gibt viele Möglichkeiten: GNOME, MATE, XFCE und so weiter.

In diesem Tutorial wählen wir das XFCE. Es ist eine leichte Desktop-Umgebung und hilft, dass die VNC-Verbindung stabil und reibungslos ist.

Führen Sie auf Ihrem Ubuntu-Server den folgenden Befehl aus, um die Paketliste zu aktualisieren:

$ sudo apt update

Dann installieren wir die XFCE-Desktop-Umgebung:

$ sudo apt install xfce4 xfce4-goodies gnome-icon-theme

Hier verwende ich TightVNC Server, andere beliebte VNC-Server sind TigerVNC und x11vnc.

Tightvnc installieren:

$ sudo apt install tightvncserver

Als Nächstes führen wir eine VNC-Serverinstanz aus und Sie müssen ein Passwort für den installierten Server festlegen:

$ vncserver

Da wir den Server zum ersten Mal nach der Installation starten, werden wir aufgefordert, ein Passwort festzulegen, mit dem der Client eine Verbindung herstellt. Es wird auch aufgefordert, ein Nur-Anzeige-Passwort festzulegen, das es dem Benutzer ermöglicht, den Bildschirm zu sehen, aber nicht damit zu interagieren.

starte den vncserver

Beachten Sie, dass die Passwortlänge zwischen 6 und 8 Zeichen beträgt. Wenn Sie das längere Passwort eingeben, wird es automatisch abgeschnitten.

Wenn Sie das Passwort des VNC-Servers ändern möchten, führen wir Folgendes aus:

$ vncpasswd

Konfigurieren Sie den VNC-Server

Wenn Sie die VNC-Serverinstanz zum ersten Mal starten, wird die anfängliche Konfigurationsdatei erstellt: ‘~/.vnc/xstartup’ und der VNC-Server lauscht auf Port 5901. Wir nennen diesen Port als Display-Port. Wir können viele Instanzen des VNC-Servers starten und jede Instanz hat ihre eigenen Anzeigeports: die erste Anzeige lauscht auf Port 5901, die zweite Anzeige lauscht auf Port 5902 und so weiter.

Es ist notwendig, den VNC-Server so zu konfigurieren, dass er zusammen mit dem Start des Ubuntu-Servers ausgeführt wird. Außerdem müssen Sie explizit angeben, mit welcher Desktop-Umgebung der VNC-Server eine Verbindung herstellt.

Stoppen wir zunächst die aktuelle VNC-Serverinstanz, die auf TCP-Port 5901 ausgeführt wird:

$ vncserver -kill :1

vncserver -kill :1

Sichern Sie dann die aktuelle Konfigurationsdatei:

$ cp ~/.vnc/xstartup ~/.vnc/xstartup.bak

Ändern Sie nun die Datei ‘xstartup’ mit Ihrem bevorzugten Editor wie folgt:

#!/bin/sh

xrdb $HOME/.Xresources
startxfce4 &

Starten Sie den VNC-Server neu:

$ vncserver -localhost

vncserver -localhostvncserver -localhost

Verbinden Sie sich mit dem VNC-Server

Standardmäßig verwendet der VNC-Server nicht das sichere Protokoll. Um die Verbindung zum entfernten Ubuntu-Server zu sichern, müssen Sie einen SSH-Tunnel erstellen und angeben, dass sich der VNC-Client über diesen Tunnel mit dem VNC-Server verbindet.

Lassen Sie uns eine SSH-Verbindung auf dem lokalen Computer herstellen, die den Verkehr an den ‘localhost’ für VNC weiterleitet. Starten Sie das Terminal auf Ihrem lokalen Computer (macOS oder Linux) und führen Sie den folgenden Befehl aus:

$ ssh -L 59000:localhost:5901 -C -l <user> <server_ip_address>

Wo:

-L 59000: localhost: 5901: der Port auf dem lokalen Rechner ist 59000 wird an den Zielserver weitergeleitet: localhost:5901

-C: Komprimieren Sie die Daten, um die Verbindung zu beschleunigen

-l : Geben Sie den Benutzer an, bei dem Sie sich anmelden, und die IP-Adresse des Ubuntu 20.04-Servers

SSH-Tunneling unter Windows einrichten

Wenn Sie ein Windows-Betriebssystem ausführen, können Sie den SSH-Tunnel mithilfe des PuTTY-SSH-Clients einrichten.

Öffnen wir PuTTY und geben Sie die IP-Adresse Ihres Ubuntu-Servers ein:

IP-Adresse von auf PuttyGeben Sie die IP-Adresse des Ubuntu-Servers auf Putty ein

Als nächstes erweitern Sie das Untermenü Connection > SSH > Tunnels, geben ‘5901’ als ‘Quellport’ und ‘:5901′ in ‘Destination’ ein. Klicken Sie dann wie folgt auf die Schaltfläche “Hinzufügen”:

SSH-Tunnel auf Putty erstellenSSH-Tunnel auf Kitt

Durch die Verwendung des SSH-Tunnels lässt die VNC-Verbindung zu Ihrem Ubuntu 20.04-Server nur Maschinen zu, die SSH-Verbindungen zum Server herstellen können. Es lässt nicht zu, dass sich jeder Computer einfach mit Port 5901 verbindet.

Jetzt können Sie sich über einen VNC-Client mit dem Ubuntu-Server aus der Ferne verbinden. In diesem Tutorial verwenden wir den VNC-Viewer. Öffnen Sie den VNC-Client und geben Sie die Server-IP-Adresse und den Port 5901 ein:

Enter  die Ubuntu-Server-IP-Adresse und Port 5901Enter die Ubuntu-Server-IP-Adresse und Port 5901

Sie haben sich erfolgreich mit dem XFCE-Desktop Ihres Ubuntu-Servers verbunden:

vnc-Viewervnc-Viewer

Sie können den Server so steuern, als würden Sie mit einem physischen Server in Ihrem Büro arbeiten. Für example, können Sie auf den Dateimanager zugreifen, ein Programm starten oder das Terminal öffnen:

Steuern Sie den Ubuntu-ServerSteuern Sie den Ubuntu-Server

Richten Sie den VNC-Server als systemd-Dienst ein

Indem Sie den VNC-Server als Systemdienst ausführen, können Sie ihn jederzeit ganz einfach starten, stoppen oder neu starten.

Erstellen wir eine neue Datei namens ‘[email protected]’ im Verzeichnis ‘/etc/systemd/system/’ auf Ihrem Ubuntu-Server:

$ sudo vim /etc/systemd/system/[email protected]e

Fügen Sie der Datei ‘[email protected]’ den folgenden Inhalt hinzu und stellen Sie sicher, dass die Werte in Zeile 7, 8, 9 und 13 Ihrer Umgebung entsprechen.

vncserver@.service[email protected]

[Unit]
Description=Start TightVNC server at startup
After=syslog.target network.target

[Service]
Type=forking
User=ubuntu
Group=ubuntu
WorkingDirectory=/home/ubuntu

PIDFile=/home/ubuntu/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 -localhost :%i
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

Laden Sie dann den System-Daemon neu:

$ sudo systemctl daemon-reload

Aktivieren Sie den Dienst:

$ sudo systemctl enable [email protected]

Wo:

@1.service: die erste Anzeige, die Port 5901 zugeordnet ist.

Ausgabe:

Created symlink /etc/systemd/system/multi-user.target.wants/[email protected] → /etc/systemd/system/[email protected].

Kill the Instance läuft:

$ vncserver -kill :1

Killing Xtightvnc process ID 3159

Starten Sie dann den systemd-Dienst erneut:

$ sudo systemctl start vncserver@1

Jetzt können Sie überprüfen, ob der Dienst ordnungsgemäß ausgeführt wird:

$ sudo systemctl status vncserver@1

Ausgabe:

[email protected] - Start TightVNC server at startup
Loaded: loaded (/etc/systemd/system/[email protected]; enabled; vendor preset: enabled)
Active: active (running) since Sun 2020-08-16 17:37:51 UTC; 2min 2s ago
Process: 4611 ExecStartPre=/usr/bin/vncserver -kill :1 > /dev/null 2>&1 (code=exited, status=2)
Process: 4615 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 -localhost :1 (code=exited, status>
Main PID: 4623 (Xtightvnc)
Tasks: 129 (limit: 7125)
Memory: 187.5M
...

Fazit

In diesem Tutorial haben wir gelernt, wie man den VNC-Server unter Ubuntu 20.04 installiert und konfiguriert. Jetzt können Sie Ihren Ubuntu-Server aus der Ferne mit einer grafischen Benutzeroberfläche verwalten.

Vielen Dank fürs Lesen und hinterlassen Sie bitte Ihren Vorschlag im Kommentarbereich unten.