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.
Passende Infrastruktur bei centron
Zum Ausprobieren braucht es keine eigene Hardware: ccloud³ VMs mit vollem Root-Zugriff gibt es ab 3,12 € im Monat, stundengenau abgerechnet und in Sekunden bereit. Cloud Server mieten →
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 updateInstallieren Sie nun die Xfce-Desktop-Umgebung zusammen mit dem Paket xfce4-goodies auf Ihrem Server:
sudo apt install xfce4 xfce4-goodiesAnschließend installieren Sie den TightVNC-Server:
sudo apt install tightvncserverInstallieren Sie die Abhängigkeit dbus-x11 für die richtige Verbindung zum VNC-Server:
sudo apt install dbus-x11Schritt 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 :1Sichern Sie die ursprüngliche Startdatei:
mv ~/.vnc/xstartup ~/.vnc/xstartup.bakErstellen Sie eine neue xstartup-Datei und öffnen Sie sie im bevorzugten Editor:
nano ~/.vnc/xstartupFügen Sie den folgenden Inhalt hinzu:
#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &Machen Sie das Startskript ausführbar:
chmod +x ~/.vnc/xstartupStarten Sie den VNC-Server neu:
vncserverSchritt 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_ipErklärung der Optionen des SSH-Befehls:
-Llegt die Portweiterleitung fest (5901 lokal zu 5901 auf dem Server).-Caktiviert die Komprimierung.-Ngibt an, dass kein Befehl ausgeführt werden soll.-lspezifiziert 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.targetLaden Sie den systemd-Daemon neu:
sudo systemctl daemon-reloadAktivieren und starten Sie den VNC-Dienst:
sudo systemctl enable vncserver@1.servicesudo systemctl start vncserver@1Fazit
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.
Testen Sie Ihr Setup auf ccloud³
Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.