Wie man VNC auf Debian 11 installiert und konfiguriert
Virtual Network Computing (VNC) ist ein Verbindungssystem, das es Ihnen ermöglicht, Ihre Tastatur und Maus zu verwenden, um mit einer grafischen Desktop-Umgebung auf einem entfernten Server zu interagieren. Es hilft Benutzern, die sich mit der Befehlszeile noch nicht wohlfühlen, beim Verwalten von Dateien, Software und Einstellungen auf einem entfernten Server.
In diesem Leitfaden richten Sie einen VNC-Server mit TightVNC auf einem Debian 11 Server ein und verbinden sich sicher über einen SSH-Tunnel. Anschließend verwenden Sie ein VNC-Client-Programm auf Ihrem lokalen Computer, um über eine grafische Desktop-Umgebung mit Ihrem Server zu interagieren.
Voraussetzungen
Um diesem Tutorial zu folgen, benötigen Sie:
- Einen Debian 11 Server, eingerichtet mit einem nicht-root Benutzer mit sudo-Zugriff und einer Firewall.
- Einen lokalen Computer mit einem installierten VNC-Client, der VNC-Verbindungen über SSH-Tunnel unterstützt.
Unter Windows können Sie TightVNC, RealVNC oder UltraVNC verwenden.
Unter macOS können Sie das integrierte Screen Sharing-Programm verwenden oder eine plattformübergreifende App wie RealVNC nutzen.
Und unter Linux stehen Ihnen viele Optionen zur Verfügung, darunter vinagre, krdc, RealVNC oder TightVNC.
Nachdem alles eingerichtet ist, können Sie mit dem ersten Schritt fortfahren.
Schritt 1 — Installation der Desktop-Umgebung und des VNC-Servers
Standardmäßig wird ein Debian 11 Server ohne grafische Desktop-Umgebung oder VNC-Server geliefert. Daher beginnen Sie mit der Installation dieser Komponenten.
Sie haben viele Optionen bei der Auswahl des VNC-Servers und der Desktop-Umgebung. In diesem Tutorial installieren Sie Pakete für die neueste Xfce-Desktop-Umgebung und das TightVNC-Paket aus dem offiziellen Ubuntu-Repository. Sowohl Xfce als auch TightVNC sind dafür bekannt, leichtgewichtig und schnell zu sein, was hilft, eine reibungslose und stabile VNC-Verbindung auch bei langsamen Internetverbindungen sicherzustellen.
Verbinden Sie sich per SSH mit Ihrem Server und aktualisieren Sie Ihre Paketliste:
sudo apt update
Installieren Sie nun die Xfce-Desktop-Umgebung zusammen mit dem Paket xfce4-goodies auf Ihrem Server:
sudo apt install xfce4 xfce4-goodies
Anschließend installieren Sie den TightVNC-Server:
sudo apt install tightvncserver
Installieren Sie die Abhängigkeit dbus-x11 für die richtige Verbindung zum VNC-Server:
sudo apt install dbus-x11
Schritt 2 — Konfigurieren des VNC-Servers
Der VNC-Server muss wissen, welche Befehle er beim Start ausführen soll. Insbesondere muss VNC wissen, mit welcher grafischen Desktop-Umgebung es sich verbinden soll.
Stoppen Sie den aktuell laufenden VNC-Server:
vncserver -kill :1
Sichern Sie die ursprüngliche Startdatei:
mv ~/.vnc/xstartup ~/.vnc/xstartup.bak
Erstellen Sie eine neue xstartup
-Datei und öffnen Sie sie im bevorzugten Editor:
nano ~/.vnc/xstartup
Fügen Sie den folgenden Inhalt hinzu:
#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &
Machen Sie das Startskript ausführbar:
chmod +x ~/.vnc/xstartup
Starten Sie den VNC-Server neu:
vncserver
Schritt 3 — Sichere Verbindung zum VNC-Desktop herstellen
VNC verwendet von sich aus keine sicheren Protokolle. Um sicher zu verbinden, nutzen Sie einen SSH-Tunnel zu Ihrem Server und teilen Ihrem VNC-Client mit, diesen Tunnel zu verwenden.
Erstellen Sie auf Ihrem lokalen Computer eine SSH-Verbindung, die sicher zur lokalen Verbindung für VNC weiterleitet:
ssh -L 5901:127.0.0.1:5901 -C -N -l sammy your_server_ip
Erklärung der Optionen des SSH-Befehls:
-L
legt die Portweiterleitung fest (5901 lokal zu 5901 auf dem Server).-C
aktiviert die Komprimierung.-N
gibt an, dass kein Befehl ausgeführt werden soll.-l
spezifiziert den Login-Namen auf dem Server.
Öffnen Sie nun Ihren VNC-Client und verbinden Sie sich mit localhost:5901
.
Schritt 4 — VNC als Systemdienst einrichten
Erstellen Sie eine systemd-Dienstdatei, um den VNC-Server zu verwalten:
[Unit]
Description=Start TightVNC server at startup
After=syslog.target network.target
[Service]
Type=forking
User=sammy
Group=sammy
WorkingDirectory=/home/sammy
PIDFile=/home/sammy/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 :%i
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
Laden Sie den systemd-Daemon neu:
sudo systemctl daemon-reload
Aktivieren und starten Sie den VNC-Dienst:
sudo systemctl enable vncserver@1.service
sudo systemctl start vncserver@1
Fazit
Sie haben nun erfolgreich einen sicheren VNC-Server auf Ihrem Debian 11 Server eingerichtet. Sie können Ihre Dateien, Software und Einstellungen bequem über eine benutzerfreundliche grafische Oberfläche verwalten. Außerdem können Sie nun grafische Software wie Webbrowser aus der Ferne ausführen.