Ein Linux-Server ist oft für seine Effizienz und Stabilität bekannt, doch manchmal kann eine grafische Benutzeroberfläche (GUI) die Verwaltung erleichtern. In diesem Blogbeitrag zeige ich dir, wie du auf einem Linux-Server das schlanke und ressourcenschonende XFCE-Desktop-Environment installierst und über einen abgesicherten VNC-Zugang darauf zugreifst. Um die Sicherheit zu gewährleisten, wird die Verbindung durch einen SSH-Tunnel verschlüsselt. Diese Methode schützt sensible Daten vor unbefugtem Zugriff und ermöglicht dennoch eine komfortable Remote-Steuerung des Servers.
1. Grundlagen
Zuerst installieren wir alle benötigten Programme:
apt-get update && apt-get upgrade -y apt install xfce4 xfce4-goodies tigervnc-standalone-server tigervnc-tools dbus dbus-x11 -y
2. Neuen Benutzer anlegen (optional)
Wir legen uns einen neuen Benutzer “terminal” an. Dieser wird später den VNC Server starten. Ihr könnt einen beliebigen Namen verwenden oder einen bereits bestehenden Benutzer. Wichtig ist, dass ihr dann in der Anleitung entsprechend den User “terminal” immer ersetzt.
adduser terminal usermod -aG sudo terminal
Nun wechseln wir zu dem Benutzer und erstellen ein Skript:
su terminal cd mkdir tmp echo "export XDG_RUNTIME_DIR=/home/terminal/tmp" >> ~/.bashrc
3. VNC Server starten
Nun erstellen wir uns noch eine VNC Konfiguration:
mkdir -p ~/.vnc echo '#!/bin/sh unset SESSION_MANAGER exec startxfce4' > ~/.vnc/xstartup chmod +x ~/.vnc/xstartup
Anschließend starten wir TigerVNC. Hier müsst ihr dann noch ein Kennwort vergeben:
tigervncserver -localhost yes -geometry 1920x1080
4. TigerVNC automatisch starten
Nun wollen wir TigerVNC so konfigurieren, dass es bei einem Serverneustart automatisch gestartet wird. Dazu gebt ihr folgendes ein:
sudo -u terminal crontab -e
Nun schreibt ihr folgendes in die Datei:
@reboot tigervncserver -localhost yes -geometry 1920x1080
Anschließend sollte sich TigerVNC bei jedem Serverstart automatisch starten.
5. VNC Verbindung aufbauen
5.1 Dienst prüfen
Zuerst prüfen wir, ob der TigerVNC Dienst korrekt läuft. Dazu gebt ihr folgendes ein:
sudo apt install --yes net-tools netstat -tulpn
Jetzt solltet ihr folgendes sehen:
Aktive Internetverbindungen (Nur Server) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:5901 0.0.0.0:* LISTEN 22368/Xtigervnc
5.2 MobaXterm downloaden (optional)
Ich selbst nutze aktuell MobaXterm für meine SSH Verbindungen. Dies hat den Vorteil, dass ich mit einem Programm SSH Verbindungen aufbauen, SSH Tunnel erstellen sowie VNC Sitzungen ansehen kann. Ihr könnt aber auch jedes andere Programm nutzen. Wir brauchen im Nachfolgenden einen SSH Tunnel sowie einen VNC Client.
5.3 SSH Tunnel aufbauen
Nun bauen wir einen SSH Tunnel auf. Dazu klickt ihr in MobaXterm auf “Tunneling”.
Anschließend auf “New SSH tunnel”
Hier könnt ihr folgendes frei wählen:
- Client-Port: 9999 -> könnt ihr beliebig wählen. Sollte nur ein Port > 1024 sein und er muss frei sein
- Ziel: hier wählt ihr die IP / Domain eures Servers und den SSH Port. Dieser kann aus Sicherheitsgründen von 22 abweichen.
Anschließend startet ihr den SSH Tunnel:
Wählt nun VNC Verbindung aus um euch mit der grafische Oberfläche zu verbinden:
Hier gebt ihr nun “localhost” sowie den Port “9999” (bzw. euren gewählten Port) ein.
Anschließend solltet ihr euren Linux Desktop sehen können.