Wie installiere ich VNC Server unter Debian 11
Virtual Network Computing (VNC) ist ein Protokoll für die gemeinsame Nutzung von Desktops, mit dem du einen Computer über die VNC-Client-Software aus der Ferne steuern 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 dieser Anleitung lernst du, wie du einen VNC-Server auf Debian 11 Bullseye installierst. Diese Anleitung verwendet TigerVNC-Pakete, um den VNC-Server zu aktivieren. Außerdem lernst du, wie du Desktop-Umgebungen (DE) wie Gnome, XFCE und Mate installierst. Schließlich erfährst du, wie du dich über eine sichere SSH-Tunnelverbindung mit deinem VNC-Server verbinden kannst. Ein Turorial für Ubuntu 22.04 findest Du hier.
Voraussetzungen
Bevor du loslegst, solltest du sicherstellen, dass du die folgenden Voraussetzungen erfüllst:
- Einen Server mit Debian 11 Bullseye und mindestens 1 GB RAM. Wenn du einen modernen DE für deinen VNC-Server verwenden willst, brauchst du mehr als 1 GB RAM. Wenn du einen Server mit nur 1 GB RAM hast, kannst du ein leichteres DE verwenden.
- Ein Nicht-Root-Benutzer mit Root-Rechten. Oder du kannst den Root-Benutzer verwenden.
Installation der Desktop-Umgebung
Um mit dem VNC-Server loszulegen, musst du die Desktop-Umgebung (DE) auf deinem System installieren. Unter Linux gibt es verschiedene DEs, die du nach Belieben installieren kannst. Du kannst ein leichtgewichtiges DE wie XFCE oder Mate Desktop auf einem Server mit wenig Ressourcen oder ein modernes DE wie Gnome auf einem Server mit vielen Ressourcen installieren.
In diesem Abschnitt wirst du DE auf dem Debian 11 System installieren. Wähle zwischen den folgenden DE: Gnome, XFCE oder Mate Desktop als dein bevorzugtes DE.
1. Um die Desktop-Umgebung zu installieren, aktualisiere zunächst deinen Paketindex, indem du den folgenden „apt“-Befehl ausführst.
sudo apt update
2. Installiere nun deine bevorzugte DE, indem du den folgenden Befehl ausführst.
Installiere XFCE Desktop mit dem folgenden Befehl.
sudo apt install task-xfce-desktop dbus-x11
Wenn du den Mate-Desktop bevorzugst, installiere ihn mit dem folgenden Befehl.
sudo apt install task-mate-desktop dbus-x11
Und für den GNOME-Desktop kannst du den folgenden Befehl verwenden.
sudo apt install task-gnome-desktop dbus-x11
Nachdem du DE auf deinem System installiert hast, besteht der nächste Schritt in dieser Anleitung darin, einen neuen Benutzer anzulegen und die TigerVNC-Pakete zu installieren.
Neuen Linux-Benutzer anlegen
Obwohl du den Root-Benutzer für deinen VNC-Server verwenden kannst, ist es aus Sicherheitsgründen empfehlenswert, einen Nicht-Root-Benutzer zu verwenden. In diesem Abschnitt erstellst du einen neuen Benutzer und fügst ihn der Gruppe„sudo“ hinzu. Dadurch kann der Benutzer mit dem Befehl sudo die Root-Rechte erhalten.
1. Führe den folgenden Befehl aus, um einen neuen Benutzer hinzuzufügen und das Passwort festzulegen. In diesem Beispiel werden wir einen neuen Benutzer„johndoe“ erstellen.
sudo useradd -m -s /bin/bash johndoe passwd johndoe
Mit der Option -m wird automatisch ein Home-Verzeichnis für den neuen Benutzer erstellt. Mit der Option„-s /bin/bash“ wird die Shell für den neuen Benutzer angegeben, gib den vollständigen Pfad der binären Shell ein.
Mit diesem Befehl wirst du nach einem Passwort gefragt. Gib dein sicheres Passwort ein und wiederhole es.
2. Füge deinen neuen Benutzer zur Gruppe„sudo“ hinzu, indem du den folgenden Befehl ausführst. Dadurch erhält der Benutzer die Root-Rechte und kann die Anwendung mit den Root-Rechten ausführen.
sudo usermod -aG sudo johndoe
3. Melde dich als neuer Benutzer an und überprüfe die sudo Root-Rechte mit folgendem Befehl.
su - johndoe sudo su
Du wirst zur Eingabe des Passworts aufgefordert. Gib dein Passwort ein und drücke ENTER. Daraufhin wird deine Eingabeaufforderung zu„root@hostname„, was bedeutet, dass du root geworden bist.
Installation von TigerVNC Server Debian 11
In diesem Abschnitt installierst du die TigerVNC Pakete und richtest den VNC Server auf deinem Debian 11 System ein. Dazu gehört das Einrichten eines VNC-Servers für einen bestimmten Benutzer mit dessen Authentifizierung und das Einrichten des Standard-DE. Der VNC-Server arbeitet benutzerspezifisch, d.h. jeder Benutzer hat seinen eigenen Bildschirm, seine eigene DE-Konfiguration und seinen eigenen systemd-Dienst.
1. Um die TigerVNC-Pakete zu installieren, führe den unten stehenden„apt„-Befehl aus.
sudo apt install tigervnc-standalone-server tigervnc-common -y
2. Du hast nun die TigerVNC-Pakete installiert. Melde dich als Nicht-Root-Benutzer an und initialisiere den VNC-Server, indem du den folgenden Befehl ausführst.
su - johndoe vncserver
3. Du wirst aufgefordert, ein neues Passwort für deinen VNC-Server zu erstellen. Gib dein Passwort ein und wiederhole es. Das Passwort darf nicht länger als 8 Zeichen sein, sonst wird es abgelehnt.
You will require a password to access your desktops.
Password:
Verify:
4. Jetzt wirst du aufgefordert, ein Passwort zu erstellen, das nur für die Ansicht gilt. Das ist nützlich, wenn du deinen VNC-Server freigeben willst, aber nur „View-Only“-Zugriff gewähren willst. Da wir es im Moment nicht brauchen, gib„n“ für no ein und drücke ENTER.
Would you like to enter a view-only password (y/n)? n
5. Nachdem die Initialisierung abgeschlossen ist, erhältst du die folgende Ausgabe. Du kannst diese Ausgabe mit‚bullseye64:1 (johndoe)‚ markieren, was bedeutet, dass der VNC-Server auf dem Server‚bullseye64‚ mit dem Display ‚:1‚ als Benutzer‚johndoe‚ läuft.
New Xtigervnc server 'bullseye64:1 (johndoe)' on port 5901 for display :1. User xtigervncviewer -SecurityTypes VncAuth -passwd /home/johndoe/.vnc/passwd :1 to connecto to the VNC server.
XFCE als Standard-Desktopumgebung konfigurieren
An diesem Punkt hast du den VNC-Server für deinen Benutzer initialisiert. Alle Konfigurationen, die den VNC-Server betreffen, werden im Verzeichnis‚~/.vnc‘ erstellt. Als Nächstes richtest du die Standard-DE für deinen VNC-Server ein.
1. Bevor du beginnst, beende die Anzeige des VNC-Servers ‚:1‚, indem du den folgenden Befehl ausführst.
vncserver -kill bullseye64:1
Du erhältst die unten stehende Ausgabe.
Killing Xtigervnc process ID 1635... success!
2. Um die Standard-DE für den VNC-Server einzurichten, musst du die Datei „xstartup“ im Verzeichnis „~/.vnc“ ändern/neu erstellen. Dieses Skript wird automatisch ausgeführt, wenn der VNC-Server gestartet wird.
mv ~/.vnc/xstartup ~/.vnc/xstartup.bak nano ~/.vnc/xstartup
3. Gib das folgende Skript in die Datei ein. Achte darauf, dass du „startxfce4“ durch den Befehl zum Starten deines DE ersetzt. In diesem Beispiel wird XFCE als Standard-DE verwendet.
bash #!/bin/bash xrdb $HOME/.Xresources startxfce4 &
Speichere und schließe die Datei.
4. Mache nun das Skript„xstartup“ ausführbar, indem du den folgenden Befehl ausführst.
chmod +x ~/.vnc/xstartup
Jetzt hast du die Konfiguration des Standard-DE für deinen VNC-Server abgeschlossen.
Hinzufügen eines Benutzers zu TigerVNC und Starten des Dienstes
Damit der TigerVNC-Server funktioniert, musst du deinen Benutzer und die Display-Nummer in die Datei „/etc/tigervnc/vncserver.users“ eintragen und dann den TigerVNC-Dienst starten und aktivieren.
1. Ändere die Datei„vncserver.users“ mit nano oder deinem bevorzugten Editor.
sudo nano /etc/tigervnc/vncserver.users
Lege die Display-Nummer gefolgt vom Benutzer wie unten beschrieben fest. In diesem Beispiel wird die Displaynummer ‚:1‚ für den Benutzer‚johndoe‚ verwendet.
:1=johndoe
Speichere und beende die Datei.
2. Als Nächstes führst du den folgenden Befehl aus, um den TigerVNC-Dienst für die Display-Nummer ‚:1‘ zu starten und zu aktivieren. Wenn du mehrere Benutzer und VNC-Server hast, ändere die Anzeigenummer für jeden Benutzer, z.B. ‚:2‚, ‚:3‚, und so weiter.
sudo systemctl enable --now tigervncserver@:1.service
3. Überprüfe nun den Status des TigerVNC-Dienstes, indem du den folgenden Befehl ausführst.
sudo systemctl status tigervncserver@:1.service
Du erhältst eine Ausgabe wie im folgenden Screenshot. Der TigerVNC-Dienst für die Anzeige ‚:1‚ ist ‚aktiv (läuft)‘ und läuft mit dem XFCE-Desktop.
Sichere Verbindung zum VNC-Server mit SSH-Tunneling
Jetzt hast du die Installation des VNC-Servers auf Debian 11 Bullseye mit den TigerVNC-Paketen abgeschlossen. In diesem Abschnitt stellst du eine sichere Verbindung zu deinem VNC-Server durch SSH-Tunneling her.
1. Bevor du loslegst, musst du sicherstellen, dass du den VNC-Viewer auf deinem lokalen Computer/Laptop installiert hast. Du kannst den RealVNC Viewer verwenden, der auf Linux-, Windows- und macOS-Systemen installiert werden kann.
2. Um das SSH-Tunneling zu starten, führe den folgenden ssh-Befehl auf deinem lokalen Computer aus. Achte darauf, dass du den „Benutzernamen“ und die IP-Adresse„192.168.1.10“ durch die IP-Adresse deines VNC-Servers ersetzt.
ssh -L 5901:127.0.0.1:5901 -N -f -l username t 192.168.1.10
Optionen, die du kennen musst:
- Die Option ‚-L 5901:127.0.0.1:5901‘ erstellt den Tunneling-Prozess.
- -N verhindert, dass der Benutzer den Remote-Befehl zum SSH-Server ausführt.
- -f lässt ssh in den Hintergrund gehen.
- -l username gib deinen Benutzernamen für ssh an.
Mit diesem Befehl wird ein Tunneling auf dem localhost mit Port 5901 zum Server„192.168.1.10“ auf Port„5901“ erstellt. Jetzt kannst du dich über localhost mit Port„5901“ mit deinem VNC-Server verbinden.
3. Öffne deine VNC-Viewer-Anwendung und stelle eine Verbindung zu„localhost:5901“ her (siehe unten). Du wirst aufgefordert, das Passwort für deinen VNC-Server einzugeben. Gib dein richtiges Passwort ein.
4. Sobald du mit dem VNC-Server verbunden bist, siehst du den Desktop deines VNC-Servers. Unten siehst du einen Screenshot des XFCE-Desktops.
In diesem Abschnitt hast du erfolgreich eine sichere Verbindung zum VNC-Server über das SSH-Tunneling hergestellt.
Fazit
In diesem Tutorium hast du die Installation des VNC-Servers auf Debian 11 Bullseye mit TigerVNC gelernt. Außerdem hast du gelernt, wie du verschiedene Desktop-Umgebungen auf dem Debian-System installierst und wie du die Standard-Desktop-Umgebung einrichtest und TigerVNC als deine VNC-Server-Anwendung einrichtest.
Schließlich hast du gelernt, wie du dich über einen SSH-Tunnel von deinem lokalen Computer sicher mit deinem VNC-Server verbinden kannst.