Wie man openSSH auf NixOS installiert
In diesem kurzen Tutorial führen wir Sie durch die Schritte, um openSSH auf NixOS zu installieren. Im Gegensatz zu den traditionellen Linux-Systemen (wie Debian oder RHEL) ist das Einrichten von openSSH in NixOS völlig anders. Aber es ist nicht so schwierig.
Einführung
Die Installation von SSH und das Aktivieren des sshd-Dienstes in NixOS folgt einem anderen Ansatz im Vergleich zu herkömmlichen Linux-Distributionen aufgrund des einzigartigen Paketverwaltungssystems und der unveränderlichen Infrastruktur von NixOS.
In traditionellen Linux-Distributionen wie Debian oder RHEL würde man typischerweise Paketmanager wie apt oder dnf verwenden, um Pakete aus zentralen Repositories zu installieren. Diese Paketmanager lösen Abhängigkeiten auf und installieren Pakete zusammen mit ihren Abhängigkeiten auf dem laufenden System.
In NixOS ist das Paketmanagement jedoch deklarativer und atomarer. Anstatt Pakete direkt auf dem laufenden System zu installieren, baut NixOS eine neue Konfiguration aus den angegebenen Paketen und deren Abhängigkeiten in einer isolierten Umgebung. Auf diese neue Konfiguration wird dann gewechselt, wodurch das gesamte Betriebssystem effektiv unveränderlich wird.
Die Hauptgründe für diesen unterschiedlichen Ansatz in NixOS sind:
- Reproduzierbarkeit: NixOS zielt darauf ab, eine reproduzierbare und zuverlässige Methode zum Aufbau des gesamten Systems aus dem Quellcode bereitzustellen. Dieselbe Konfiguration wird ein identisches System erzeugen, unabhängig davon, auf welcher Maschine es gebaut wird.
- Atomare Upgrades und Rollbacks: Durch das Erstellen einer neuen Konfiguration anstatt das laufende System zu verändern, ermöglicht NixOS atomare Upgrades und Rollbacks. Wenn ein Upgrade fehlschlägt oder Probleme verursacht, können Sie problemlos zur vorherigen Konfiguration zurückkehren.
- Vermeidung von Abhängigkeitsproblemen: Das Paketmanagement von NixOS löst Abhängigkeiten auf eine Weise, die Konflikte zwischen Paketen vermeidet, die unterschiedliche Versionen derselben Abhängigkeit benötigen.
- Deklarative Konfiguration: NixOS fördert einen deklarativen Ansatz zur Systemkonfiguration, bei dem der gewünschte Zustand des Systems in einer einzigen Konfigurationsdatei (
/etc/nixos/configuration.nix) beschrieben wird.
Installiere openSSH auf NixOS
Um OpenSSH auf NixOS zu installieren, müssen Sie es zu Ihrer Systemkonfiguration hinzufügen und dann das System neu aufbauen.
1. Bearbeiten Sie Ihre configuration.nix-Datei mit Ihrem bevorzugten Texteditor:
$ sudo nano /etc/nixos/configuration.nix2. Finden Sie die folgende Zeile und heben Sie die Auskommentierung auf. Falls sie nicht existiert, fügen Sie sie einfach hinzu.
{
[...]
# Enable OpenSSH daemon
services.openssh.enable = true;
[...]
}Optional können Sie die folgenden Zeilen hinzufügen. Vergessen Sie nicht, Ihre bevorzugte Einstellung zu entkommentieren.
# Optional: Customize OpenSSH configuration
# services.openssh.permitRootLogin = "no";
# services.openssh.passwordAuthentication = true;
# services.openssh.port = 22;
# services.openssh.protocol = "2";Speichern Sie die Änderungen und verlassen Sie den Texteditor.
3. Bauen Sie Ihre NixOS-Systemkonfiguration neu auf:
$ sudo nixos-rebuild switchDieser Befehl wird Ihr NixOS-System mit den Änderungen, die Sie in der configuration.nix-Datei vorgenommen haben, neu aufbauen.
4. Nachdem der Wiederaufbauprozess abgeschlossen ist, sollte OpenSSH auf Ihrem NixOS-System installiert und ausgeführt werden.
5. Lassen Sie uns den Status des openSSH-Dienstes mit dem Befehl überprüfen:
$ sudo systemctl sshd status
Beispielausgabe:
Ja, der sshd-Dienst ist aktiviert und läuft!
6. Sie können dann mithilfe eines SSH-Clients eine Verbindung herstellen.
Zum Beispiel habe ich mich von meinem Debian-System aus über SSH mit NixOS verbunden, indem ich folgenden Befehl verwendet habe:
$ ssh ostechnix@192.168.1.23Hier ist ostechnix der Benutzername und 192.168.1.23 die IP-Adresse meines NixOS-Systems.
Es wird Sie auffordern, das Passwort Ihres NixOS-Benutzers einzugeben. Das war's. Beginnen Sie, Ihr NixOS zu verwenden.
NixOS-Version prüfen
Überprüfen Sie, ob Sie wirklich in NixOS eingeloggt sind, indem Sie dessen Version überprüfen. Um die installierte NixOS-Version zu überprüfen, führen Sie den folgenden Befehl in Ihrem Terminal aus:
$ nixos-versionDieser Befehl gibt die NixOS-Versionsinformationen aus, einschließlich der NixOS-Release-Version, des Codenamens und des Git-Revision-Hash.
Beispielausgabe:
23.11.5541.56528ee42526 (Tapir)
In diesem Beispiel ist die NixOS-Version 23.11 (die Veröffentlichungs-Version), 5541.56528ee42526 ist der Git-Revision-Hash und Tapir ist der Codename für diese Veröffentlichung.
Fazit
In diesem Artikel haben wir erklärt, wie man openSSH in NixOS installiert und konfiguriert. Obwohl der NixOS-Ansatz zunächst komplexer erscheinen mag, bietet er Vorteile in Bezug auf Zuverlässigkeit, Reproduzierbarkeit und Systemintegrität.
Verwandte Lektüre:
- Nix – Ein leistungsstarker Paketmanager für Linux und Unix
- Erste Schritte mit dem Nix-Paketmanager


