Technologieführer

Terminal-Server in Linux einrichten mit Ubuntu 9.10 und FreeNX

9 min read Linux Server Aktualisiert 18 Oct 2025
Terminal-Server mit FreeNX auf Ubuntu 9.10 einrichten
Terminal-Server mit FreeNX auf Ubuntu 9.10 einrichten

Wichtig: Ubuntu 9.10 (Karmic Koala) ist veraltet. Für produktive Umgebungen sollten Sie eine unterstützte LTS-Version verwenden. Dieser Leitfaden basiert auf den damals gültigen Schritten, ist aber auch als Konzept- und Prozessvorlage für aktuellere Versionen nützlich.

Übersicht und Einsatzzwecke

Thin-Client- oder Terminal-Server-Setups erlauben es, zentrale Rechenleistung und Daten an mehrere entfernte Arbeitsplätze zu verteilen. FreeNX ist eine Open-Source-Implementierung des NX-Protokolls von NoMachine. Im Vergleich zu klassischem VNC reduziert NX Bandbreitennutzung, verbessert die Reaktionsfähigkeit und verwendet standardmäßig SSH für verschlüsselte Verbindungen.

Typische Einsatzszenarien:

  • Unternehmenszugang zu internen Ressourcen über einen per SSH geschützten Einstiegspunkt.
  • Zugriff auf den leistungsfähigen Heimarbeitsplatz von einem Netbook oder schwächeren Gerät.
  • Wiederverwendung älterer Hardware als Thin Clients (ggf. in Verbindung mit LTSP).

Vorteile auf einen Blick:

  • Ein einziger offener Port (SSH 22) vereinfacht Firewall- und NAT-Regeln.
  • Zentrale Administration und Datenspeicherung.
  • Geringeres Risiko durch beschränkte Client-Umgebung (z. B. weniger Malware-Angriffspunkte).

Voraussetzungen und Risiken

  • Grundkenntnisse in Linux-Administration und Netzwerktechnik werden vorausgesetzt.
  • Diese Anleitung ist eine pragmatische Schritt-für-Schritt-Anleitung; sie deckt nicht alle Sicherheits- und Compliance-Aspekte ab.
  • Arbeiten Sie in produktiven oder sensiblen Netzwerken nur mit überprüften, aktuellen Betriebssystemen und halten Sie Sicherheitsrichtlinien ein.

Kurze Begriffsdefinitionen

  • NX: Ein Protokoll für Remote-Desktop-Sitzungen mit Fokus auf Effizienz.
  • FreeNX: Open-Source-Server-Implementierung für das NX-Protokoll.
  • SSH: Secure Shell, ein verschlüsseltes Protokoll für entfernte Kommandozeilen- und Tunnelsitzungen.

Vorbereitung: Betriebssystem

Installieren Sie Ubuntu 9.10 (Karmic Koala) wie gewohnt. Falls Sie neuere Ubuntu-Versionen verwenden, passen sich einige Paket- und Repository-Namen an. Als Basis reichen die Schritte 1–3 einer typischen Desktopinstallation; Desktop-Umgebung: GNOME (Standard bei 9.10).

Weiterführende Installationsanleitungen finden Sie z. B. hier: https://www.howtoforge.com/the-perfect-desktop-ubuntu-9.10-karmic-koala

Root-Rechte erlangen und Pakete installieren

Öffnen Sie ein Terminal (Anwendungen -> Zubehör -> Terminal) und wechseln Sie zu root:

 sudo su -l

Installieren Sie die notwendigen Pakete. OpenSSH ist Voraussetzung für FreeNX; fail2ban begrenzt Brute-Force-Versuche; firehol ist ein nutzerfreundlicher Wrapper für iptables.

 aptitude update && aptitude install openssh-server fail2ban firehol

Testen Sie den SSH-Server lokal:

 ssh 127.0.0.1

Sie sollten die RSA-Fingerprint-Abfrage sehen. Notieren Sie den Fingerabdruck — wir vergleichen ihn später. Brechen Sie die Verbindung mit Strg+C ab.

Wichtig: Lassen Sie dieses Terminal geöffnet; wir nutzen es später erneut.

Netzwerk einrichten: statische IP konfigurieren

Da der Rechner als Server dient, empfiehlt sich eine statische IP im lokalen Netz. Alternativ können Sie eine feste DHCP-Zuweisung verwenden (MAC-basiert), die in Ihrem DHCP-Server eingerichtet wird.

Prüfen Sie aktuelle Netzwerkinformationen:

 ifconfig eth0

Notieren Sie IP-Adresse (inet addr), Broadcast (Bcast) und Netzmaske (Mask). Prüfen Sie DNS-Server:

 cat /etc/resolv.conf

Und die Standardroute:

 route

Bearbeiten Sie die Netzwerkkonfiguration:

 nano /etc/network/interfaces

Ändern Sie eine vorhandene DHCP-Zeile von

 iface eth0 inet dhcp

auf

 iface eth0 inet static

Fügen Sie anschließend diese Werte mit Ihren spezifischen Netzdaten ein und passen Sie sie an:

    address 192.168.1.253
    netmask 255.255.255.0
    network 192.168.1.0
    broadcast 192.168.1.255
    gateway 192.168.1.1
    dns-nameservers 8.8.8.8, 8.8.4.4

Hinweis: Die Google-DNS-Server sind praktisch und leicht zu merken, ersetzen aber nicht zwingend lokale DNS- oder Betriebsspezifika.

Anschließend Neustart des Netzwerk-Services:

 /etc/init.d/networking restart

Öffnen Sie Firefox und prüfen Sie Internetzugang, bevor Sie fortfahren.

Firewall mit FireHOL konfigurieren

Firehol wird so konfiguriert, dass nur eingehende SSH-Verbindungen erlaubt werden; ausgehender Traffic bleibt offen.

Aktivieren Sie Firehol beim Systemstart:

 nano /etc/default/firehol

Ändern Sie:

START_FIREHOL=NO

auf

START_FIREHOL=YES

Aktualisieren Sie die reservierten IP-Adressen:

 get-iana

Bearbeiten Sie die Konfigurationsdatei:

nano /etc/firehol/firehol

Fügen Sie am Ende folgende Regel ein:

server ssh accept

Starten Sie Firehol:

 firehol start

Sie sollten eine Bestätigung wie “Activating new firewall (…) : OK” sehen. Zur Überprüfung können Sie die iptables-Regeln anzeigen:

 iptables --list

Wichtiger Hinweis: Wenn Sie zusätzlich Dienste auf dem Server betreiben (z. B. HTTP, Samba), müssen weitere Ports konfiguriert werden.

FreeNX installieren und Grundkonfiguration

FreeNX ist in einem PPA verfügbar; fügen Sie das Repository hinzu und installieren Sie:

 add-apt-repository ppa:freenx-team
 aptitude update
 aptitude install freenx
 /usr/lib/nx/nxsetup --install

Bei Bedarf können Sie zusätzliche Schlüsselpaar-Dateien erzeugen. Standardmäßig nutzt FreeNX vorhandene Server-Schlüssel. Eigene Schlüssel erhöhen die Sicherheit, erfordern aber, dass der öffentliche Teil an Clients verteilt wird.

Empfehlung: In produktiven, extern erreichbaren Setups eigene Schlüssel verwenden und sicher verteilen.

Schlüssel erzeugen und verteilen (kurz)

SSH-Server-Schlüssel (falls neu erzeugt) können Sie mit ssh-keygen erstellen. Beispiel für ein RSA-Schlüsselpaar:

ssh-keygen -t rsa -b 4096 -f /etc/ssh/ssh_host_rsa_key_custom

Wenn FreeNX eigene Schlüssel verlangt, platzieren Sie diese an den von FreeNX genutzten Orten (Dokumentation beachten). Verteilen Sie nur den nötigen öffentlichen Schlüssel an Clients.

Wichtig: Bewahren Sie private Schlüssel sicher (nur root-Zugriff) auf.

Client-Installation und Sitzung anlegen

Auf dem Client (Windows, OS X, Linux, Solaris) laden Sie den NX-Client von NoMachine:

http://www.nomachine.com/download.php

Installation:

  • Führen Sie den Installer des passenden Clients aus.
  • Starten Sie den NX Connection Wizard.
  • Geben Sie einen Sitzungstitel und die IP-Adresse des Servers ein. Wählen Sie die Netzwerkgeschwindigkeit (z. B. LAN).
  • Wählen Sie als Desktop-Umgebung GNOME (Standard bei Ubuntu 9.10) statt KDE, falls erforderlich.
  • Falls Sie eigene Schlüssel erzeugt haben: aktivieren Sie die erweiterte Konfiguration und importieren Sie den Schlüssel (Key-Button).

Anmeldung:

  • Geben Sie Ihren Linux-Benutzernamen und Ihr Passwort ein.
  • Beim ersten Verbindungsaufbau werden Sie den SSH-Fingerprint akzeptieren müssen. Vergleichen Sie diesen mit dem zuvor notierten Fingerabdruck.

Warnung: Wenn der Fingerprint später unvermittelt wechselt, könnte das auf einen Man-in-the-Middle-Angriff hindeuten. Untersuchen Sie die Ursache, bevor Sie erneut verbinden.

Benutzerverwaltung

Legen Sie Benutzerkonten auf dem Server an, die sich per NX anmelden dürfen:

System -> Verwaltung -> Benutzer und Gruppen (oder per CLI mit adduser):

adduser vorname.nachname

Passen Sie Gruppenzugehörigkeiten und sudo-Rechte entsprechend an.

Router und Fernzugang

Für externen Zugriff muss Port 22 an die statische IP des NX-Servers weitergeleitet werden (Port-Forwarding). Alternativ nutzen Sie eine Bastion/Jump-Host-Architektur oder VPN-Verbindungen.

Sicherheitsüberlegungen:

  • Öffnen Sie SSH nur, wenn nötig. Beschränken Sie Verbindungen per Firewall oder TCP-Wrappers auf bekannte IPs, falls möglich.
  • Setzen Sie Fail2Ban mit angepassten Filtern und längeren Sperrzeiten für wiederholte Fehlschläge ein.

Konkrete Sicherheitsverbesserungen

Empfohlene Maßnahmen, ohne Anspruch auf Vollständigkeit:

  • SSH auf Schlüssel-basierte Authentifizierung umstellen und Passwort-Login deaktivieren (in /etc/ssh/sshd_config: PasswordAuthentication no).
  • Root-Login per SSH deaktivieren (PermitRootLogin no).
  • SSH-Port ändern (Security by obscurity; reduziert nur opportunistische Scans).
  • Rate-Limiting und Intrusion-Prevention: fail2ban konfigurieren.
  • Regelmäßige Updates und ein Intrusion-Detection-System (IDS) erwägen.

Beispiel: Minimaler fail2ban-Filter in /etc/fail2ban/jail.local:

[sshd]
enabled  = true
port     = 22
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 5
bantime  = 3600

Hinweis: Überprüfen Sie die Pfade und Konfigurationssyntax für Ihre Distribution.

Troubleshooting: Häufige Probleme und Lösungen

Verbindung schlägt fehl:

  • Prüfen Sie, ob der SSH-Dienst läuft: systemctl status ssh (oder /etc/init.d/ssh status).
  • Testen Sie lokalen SSH-Zugriff: ssh 127.0.0.1
  • Firewall prüfen: iptables –list und /var/log/firehol – bei Firehol-Konfigurationen ggf. firehol status.
  • Router/Port-Forwarding prüfen: Von außerhalb einen Portscan (z. B. nmap) gegen Ihre öffentliche IP durchführen.

XSitzung startet nicht oder ist schwarz:

  • Stellen Sie sicher, dass auf dem Server ein Desktop-Manager (z. B. GNOME) installiert ist.
  • Prüfen Sie FreeNX-Logs (typischer Pfad: /var/log/nx/) auf Fehlermeldungen.
  • Prüfen Sie Home-Verzeichnis-Berechtigungen und .Xauthority-Dateien.

SSH-Fingerprint ändert sich:

  • Klären Sie, ob Sie kürzlich Host-Schlüssel erneuert haben. Wenn nicht, behandeln Sie dies als potentiellen Sicherheitsvorfall.

Alternative Ansätze und Vergleich

Wenn FreeNX oder Ubuntu 9.10 nicht passend sind, ziehen Sie folgende Alternativen in Betracht:

  • xrdp: Einfacher Remote-Desktop-Zugang via RDP-Protokoll; gut für Windows-Clients.
  • VNC (TigerVNC, TightVNC): Breite Unterstützung, meist höhere Bandbreitenlast.
  • NoMachine Enterprise: Kommerzielle Lösung mit erweitertem Feature-Set.
  • SSH + X11 Forwarding: Geeignet für einzelne X-Anwendungen, nicht für komplette Desktop-Sitzungen.

Kurzvergleich (konzeptionell):

  • FreeNX: Effizient, niedrige Bandbreite, verschlüsselt über SSH.
  • VNC: Einfach, aber oft träger und ohne standardmäßige Verschlüsselung.
  • RDP/xrdp: Gut für Windows-interoperabilität.

Migrationstipps und Kompatibilität

  • Ubuntu 9.10 ist End-of-Life. Für produktive Systeme migrieren Sie auf eine aktuelle LTS-Version (z. B. Ubuntu 20.04/22.04) und prüfen Sie verfügbare Remote-Desktop-Pakete.
  • PPA-Namen und Paketverfügbarkeit ändern sich über die Jahre. Prüfen Sie aktuelle Dokumentation für Ihre Version.
  • Firewall- und Fail2Ban-Regeln lassen sich weitgehend 1:1 übernehmen, die Syntax aktueller Systemd-Services (systemctl) ist jedoch zu beachten.

Rolle-basierte Checklisten

Server-Administrator (Vor dem Produktionsstart):

  • Statische IP konfiguriert und getestet.
  • Firehol/iptables so konfiguriert, dass nur benötigte Ports offen sind.
  • SSH-Härtung durchgeführt (Schlüssel, Root-Login deaktiviert, ggf. Port geändert).
  • Fail2Ban aktiviert und getestet.
  • FreeNX installiert und Grundsitzung getestet.
  • Backups und Wiederherstellungsplan eingerichtet.

Client-Benutzer (Vor der Nutzung):

  • NX-Client installiert und Sitzung angelegt.
  • SSH-Fingerprint beim ersten Verbinden geprüft und akzeptiert.
  • Zugriff auf benötigte Anwendungsdaten geprüft.

Mini-Methodik: Schritte zusammengefasst (Schnellreferenz)

  1. Ubuntu installieren (oder vorhandenes System verwenden).
  2. Root-Rechte erlangen: sudo su -l.
  3. Installieren: openssh-server, fail2ban, firehol.
  4. Statische IP konfigurieren (/etc/network/interfaces).
  5. Firehol aktivieren, get-iana ausführen und SSH erlauben.
  6. FreeNX PPA hinzufügen, freenx installieren und nxsetup ausführen.
  7. Client installieren, Session anlegen, Schlüssel/Fingerprint prüfen.
  8. Benutzer anlegen, Tests durchführen, optional Router-Port-Forwarding konfigurieren.

Testfälle und Akzeptanzkriterien

  • Verbindungstest: Lokaler SSH-Login erfolgreich.
  • Remote-Test: Verbindung per NX-Client von einem entfernten Rechner möglich.
  • Firewall-Test: Port 22 ist nur auf dem NX-Server offen, keine unerwarteten Ports.
  • Authentifizierungstest: Passwort-Login (falls deaktiviert) funktioniert nicht; Schlüssel-Login funktioniert.

Sicherheitsvorfall-Runbook (Kurz)

  1. Erkennen: Unerwarteter SSH-Fingerprint-Wechsel oder wiederholte Abwehrversuche in Logs.
  2. Isolieren: Firewall-Regel verschärfen, Quelle blocken.
  3. Analysieren: /var/log/auth.log, FreeNX-Logs prüfen; Versionen und Änderungen dokumentieren.
  4. Wiederherstellen: Schädlingsfreie Backups einspielen oder Host-Schlüssel regenerieren und Clients informieren.
  5. Lessons learned: Ursachenanalyse und Maßnahmen anpassen (z. B. Fail2Ban-Richtlinien verschärfen).

Weiterführende Dokumentation und Links

  • Ubuntu FreeNX Documentation
  • Firehol
  • Fail2ban
  • NoMachine

Zusammenfassung

Sie haben jetzt eine vollständige Anleitung, um Ubuntu 9.10 als FreeNX-Terminal-Server einzurichten: von der Paketinstallation über statische Netzwerkkonfiguration und Firewall bis hin zum Client-Setup und empfohlenen Sicherheitsmaßnahmen. Testen Sie Verbindungen lokal und remote, härten Sie SSH und verwenden Sie Fail2Ban, um Brute-Force-Angriffe zu mindern.

Wichtig: Aktualisieren Sie Betriebssystem und Software für produktive Umgebungen auf unterstützte Versionen und evaluieren Sie moderne Alternativen zu FreeNX, falls erforderlich.

Kriterien beiёмnahme (Kriterien für Akzeptanz):

  • Der Server ist über NX von mindestens einem entfernten Client erreichbar.
  • SSH-Fingerprint wurde geprüft und dokumentiert.
  • Firewall erlaubt nur die gewünschten Verbindungen.
  • Fail2Ban oder gleichwertige Schutzmaßnahmen sind aktiv.

Glossar: NX — effizientes Remote-Desktop-Protokoll; FreeNX — Open-Source-Server-Implementierung; SSH — verschlüsselte Verbindung.

Autor
Redaktion

Ähnliche Materialien

PS4-Ferndownload: Spiele per App & Browser
Gaming

PS4-Ferndownload: Spiele per App & Browser

Ronggolawe-Ransomware: Schutz, Erkennung, Reaktion
Sicherheit

Ronggolawe-Ransomware: Schutz, Erkennung, Reaktion

Nest Thermostat automatisch ausschalten bei kühlerem Wetter
Smart Home

Nest Thermostat automatisch ausschalten bei kühlerem Wetter

WLAN beim Ethernet automatisch ausschalten
Anleitung

WLAN beim Ethernet automatisch ausschalten

Netflix Profilbild ändern: Anleitung
Streaming Tipps

Netflix Profilbild ändern: Anleitung

Tabs später öffnen mit Open Me Later
Browser Erweiterungen

Tabs später öffnen mit Open Me Later