So installierst du VNC Server auf Rocky Linux

Virtual Network Computing (VNC) ist ein Desktop-Sharing-Protokoll, mit dem du einen Computer über eine VNC-Client-Software fernsteuern kannst. VNC arbeitet mit GUI-Umgebungen (Graphical User Interface) und überträgt Mausbewegungen und Tastatureingaben über das Netzwerk mit dem Remote Frame Buffer (RFB) Protokoll.

In der Regel wird VNC von Technikern zur Steuerung von Client-Desktops verwendet oder von jemandem, der von zu Hause aus auf seinen Desktop im Büro zugreifen muss. VNC kann sicher über das VPN-Netzwerk oder über eine SSH-Tunnelverbindung genutzt werden.

In diesem Lernprogramm wirst du den VNC Server mit TigerVNC auf einem Rocky Linux Server einrichten. Außerdem lernst du, wie du dich über SSH-Tunneling sicher mit dem VNC-Server verbinden kannst.

Voraussetzungen

Um dieses Tutorial durchzuführen, brauchst du einen Server mit den folgenden Voraussetzungen:

  • Einen frischen Rocky Linux Server – Du kannst Rocky Linux v8.5 oder v9 verwenden.
  • Einen Nicht-Root-Benutzer mit Root- oder Administrator-Rechten.
  • Eine aktivierte Firewalld auf dem Server.

Installation der Desktop-Umgebung

Die Standardinstallation von Rocky Linux Server kommt ohne GUI. Um VNC Server einzurichten, musst du die Desktop-Umgebung auf deinem Rocky Linux Server installieren. Für VNC Server wird die leichtgewichtige Desktop-Umgebung empfohlen, die dir mehr Leistung und Geschwindigkeit bietet.

Unter Rocky Linux gibt es mehrere Gruppen von Paketen, die eine Desktop-Umgebung bereitstellen. In diesem Beispiel wirst du XFCE als Desktop-Umgebung für den VNC Server auf dem Rocky Linux System installieren und konfigurieren.

Bevor du mit der Installation der Pakete beginnst, führe den folgenden dnf-Befehl aus, um die installierten Pakete auf die neueste Version zu aktualisieren.

sudo dnf update

Füge nun das EPEL-Repository mit dem folgenden dnf-Befehl zu deinem Rocky Linux-System hinzu. Gib Y ein, um das EPEL-Repository hinzuzufügen und drücke ENTER.

sudo dnf epel-release

Als Nächstes installierst du die Desktop-Umgebung XFCE über das Gruppenpaket„Xfce“ aus dem Rocky Linux-Repository. Außerdem installierst du das Gruppenpaket„base-x„, das Xorg-Pakete enthält.

sudo dnf groupinstall "Xfce" "base-x"

Gib Y ein, wenn du aufgefordert wirst, die Installation zu bestätigen und drücke ENTER, um fortzufahren.

Sobald der XFCE-Desktop und base-x installiert sind, aktivierst du die grafische Umgebung mit dem folgenden systemctl-Befehl. Dadurch wird die grafische Umgebung aktiviert, wenn der Server gestartet wird.

sudo systemctl set-default graphical

Grafisch aktivieren

Hinzufügen eines VNC-Benutzers

Aus Sicherheitsgründen wird empfohlen, einen Nicht-Root-Benutzer zu verwenden, um den VNC-Server zu betreiben. Du solltest einen eigenen Benutzer anlegen, der den VNC-Server betreibt. Wenn du als Benutzer die sudo-Rechte benötigst, kannst du deinen Benutzer zur Gruppe „wheel“ hinzufügen.

Führe den folgenden Befehl aus, um einen neuen Benutzer anzulegen. Lege dann das Passwort für den Benutzer fest. In diesem Beispiel legst du einen neuen Benutzer„jane“ an und achtest darauf, ein sicheres Passwort zu verwenden.

sudo useradd -m -s /bin/bash jane
sudo passwd jane

Nachdem du den neuen Benutzer erstellt hast, fügst du ihn mit dem folgenden Befehl der Gruppe„wheel“ hinzu. Dadurch kann der neue Benutzer den sudo-Befehl ausführen und erhält Root-Rechte.

sudo usermod -aG wheel jane

Nachdem die XFCE-Desktop-Umgebung installiert und der VNC-Benutzer erstellt wurde, startest du als Nächstes die Installation und Konfiguration von TigerVNC.

Benutzer einrichten

Installation von TigerVNC Server

Um einen VNC-Server einzurichten, musst du die VNC-Server-Software installieren. In diesem Beispiel wirst du „TigerVNC Server“ installieren und verwenden, der standardmäßig im Rocky Linux Repository verfügbar ist.

Außerdem erstellst du die VNC-Serverkonfigurationen, richtest die Standard-Desktopumgebung ein und fügst den VNC-Benutzer zur TigerVNC-Server-Benutzerliste hinzu.

Führe den folgenden dnf-Befehl aus, um das Paket „tigervnc-server“ auf dem Rocky Linux-System zu installieren. Gib Y ein, wenn du aufgefordert wirst, die Installation zu bestätigen und drücke ENTER, um fortzufahren.

sudo dnf install tigervnc-server

tigervnc installieren

Sobald die Installation abgeschlossen ist, richtest du als Nächstes den VNC-Server für jeden Benutzer (VNC-Benutzer) ein.

Melde dich mit dem folgenden Befehl bei deinem Benutzer an.

su - jane

Führe nun den folgenden Befehl aus, um den VNC-Server für den Benutzer„jane“ zu initialisieren. Während der Initialisierung des VNC-Servers wirst du aufgefordert, das Passwort für deinen VNC-Server zu erstellen, also gib das sichere Passwort ein und wiederhole es. Und für das„Nur-Ansicht-Passwort“ gibst du„n“ ein, um es zu deaktivieren.

vncserver

Mit diesem Befehl werden VNC-Serverkonfigurationen erstellt, die sich in„~/.vnc“ befinden. Die VNC-Serverkonfigurationen enthalten das xstartup-Skript, die Konfiguration der Desktop-Umgebung und die Protokolle für den VNC-Prozess.

Außerdem kannst du sehen, dass der neue VNC-Prozess mit einem Namen wie„HOSTNAME:N“ läuft – das bedeutet den System-Hostnamen und den Desktop/die Anzeige :N in Zahlen.

vnc-Server initialisieren

Überprüfe die Liste der VNC-Prozesse mit dem unten stehenden Befehl vncserver. Du solltest sehen, dass der VNC-Prozess des Displays „:1“ läuft.

vncserver -list

Jetzt musst du den aktuellen VNC-Prozess „:1“ beenden, um die XFCE Desktop-Umgebung einzurichten. Führe den unten stehenden Befehl vncserver aus, um den VNC-Prozess auf dem Display „:1“ zu beenden.

vncserver -kill :1

Sobald der VNC-Prozess beendet ist, solltest du eine Meldung wie„Killing Xvnc process ID PID“ erhalten.

vnc server prozess beenden

Nachdem du nun die VNC-Serverkonfigurationen erstellt hast, öffne die Datei„~/.vnc/config“ mit dem Editor nano.

nano ~/.vnc/config

Ändere die Standardkonfiguration wie unten beschrieben. In diesem Beispiel verwendest du XFCE als Standard-Desktop-Umgebung für den VNC-Server, und wenn sich der Benutzer mit dem VNC-Server verbindet, ist der Standardbildschirm„1920×1200„. Der VNC-Server wird nur auf localhost laufen und freigegebene Desktops aktivieren.

session=xfce
geometry=1920x1200
localhost
alwaysshared

Speichere die Datei und beende den Editor, wenn du fertig bist.

configure vnc server

Als Nächstes drückst du „Strg+d“ und kehrst zur Root-Benutzersitzung zurück. Öffne dann die Datei„/etc/tigervnc/vncserver.users“ mit dem Editor nano.

sudo nano /etc/tigervnc/vncserver.users

Füge die Display-Nummer und den VNC-Benutzer wie in der folgenden Konfiguration hinzu. In diesem Beispiel wird das Display „:1“ verwendet, um den VNC-Server für den Benutzer„jane“ auszuführen.

:1=jane

Speichere die Datei und beende den Editor, wenn du fertig bist.

Nachdem die VNC-Server-Konfigurationen erstellt, die Standard-Desktop-Umgebung konfiguriert und der VNC-Benutzer zur TigerVNC-Benutzerliste hinzugefügt wurde, kannst du den TigerVNC-Server starten und ihn als Dienst ausführen.

VNC Server starten

Der TigerVNC-Server bietet dynamische systemd-Dienstdateien, d.h. jeder Bildschirm oder Benutzer hat seinen eigenen systemd-Dienst. In diesem Beispiel führt der Benutzer„jane“ den VNC-Server mit dem Display „:1“ aus, also wäre die Dienstdatei„vncserver@:1.service“.

Jedes Mal, wenn du einen neuen VNC-Benutzer hinzufügst, musst du den systemd manager neu laden, um die neuen Änderungen zu übernehmen. Du kannst den systemd Manager über den systemctl-Befehl neu laden (siehe unten).

sudo systemctl daemon-reload

Als Nächstes startest und aktivierst du„vncserver@:1.service“ für das Display „:1“ mit dem folgenden systemctl-Befehl. Dadurch wird der VNC-Serverprozess display „:1“ beim Booten automatisch gestartet.

sudo systemctl start vncserver@:1.service
sudo systemctl enable vncserver@:1.service

start enable vnc server

Überprüfe abschließend „vncserver@:1.service“, um sicherzustellen, dass der Dienst läuft.

sudo systemctl status vncserver@:1.service

Wenn„vncserver@:1.service“ läuft, solltest du eine ähnliche Ausgabe wie im folgenden Screenshot sehen.

Dienststatus prüfen vnc

An dieser Stelle hast du die Installation und Konfiguration des VNC-Servers über „Tiger-VNC“ auf dem Rocky Linux Server abgeschlossen. Außerdem hast du XFCE als Standard-Desktopumgebung für den VNC-Server konfiguriert. Als Nächstes richtest du die Firewalld ein, um den VNC-Server zu sichern.

Firewalld einrichten

Auf dem Standard Rocky Linux Server ist die Firewalld installiert und aktiviert. Du fügst einen neuen Dienst„vnc-server“ zur Firewalld hinzu.

Füge den Dienst „vnc-server“ mit dem unten stehenden Befehl firewall-cmd zur Firewalld hinzu. Lade dann die Firewall-Regeln neu, um die neuen Änderungen zu übernehmen.

sudo firewall-cmd --add-service=vnc-server --permanent
sudo firewall-cmd --reload

Überprüfe abschließend die Liste der Firewall-Regeln mit dem folgenden Befehl. Wenn du den Dienst„vnc-server“ in der Liste der Dienste siehst, ist die Dienstregel hinzugefügt und aktiviert.

sudo firewall-cmd --list-services

firewalld einrichten

Verbindung zum VNC-Server über einen sicheren SSH-Tunnel

Um das SSH-Tunneling zu starten, führe den folgenden ssh-Befehl aus. In diesem Beispiel erstellst du einen neuen Tunnel zum VNC-Server IP-Adresse„192.168.5.100“ mit dem Benutzer„jane“ zum localhost auf dem TCP-Port„5901„, der der gleiche Port wie der VNC-Server ist.

ssh -L 5901:127.0.0.1:5901 -N -f -l jane 192.168.5.100

Gib das Passwort für deinen Benutzer ein. Sobald du verbunden bist, kannst du dich mit dem VNC-Server über localhost mit Port 5901 verbinden.

ssh-tunneling

Öffne deinen VNC-Viewer auf deinem lokalen Computer. In diesem Beispiel werden wir den „TigerVNC Viewer“ verwenden.

Gib bei der Adresse „VNC Server“ den Host als localhost oder 127.0.0.1 mit Port 5901 ein. Klicke dann auf„Verbinden„, um fortzufahren.

Anmeldung am vnc-Server

Gib nun das VNC-Server-Passwort für deinen Benutzer ein und klicke auf„OK„.

passwort vnc server

Wenn die Verbindung erfolgreich war, siehst du den XFCE-Desktop auf deinem Bildschirm, wie auf dem folgenden Screenshot.

Du kannst auch dein Terminal öffnen und den folgenden Befehl ausführen, um deinen Benutzer zu überprüfen.

id
whoami
sudo su

vnc server rocky linxu xfce

Schlussfolgerungen

In dieser Anleitung hast du den VNC Server mit TigerVNC auf dem Rocky Linux Server installiert. Außerdem hast du XFCE als Standard-Desktopumgebung für deinen VNC-Server installiert und konfiguriert. Und schließlich hast du gelernt, wie du dich sicher mit dem VNC-Server über SSH-Tunneling verbinden kannst.

Eine weitere Überlegung für den VNC-Server ist, dass du die IP-Adressen, die auf den Port des VNC-Servers zugreifen können, über die Firewalld einschränken kannst. Außerdem kannst du deine Verbindung über einen lokalen VPN-Server absichern. Hier geht es zum VNC Tutorial für Ubuntu.

Das könnte dich auch interessieren …