diff options
| author | Valentin <valentin@fricklerhandwerk.de> | 2025-11-06 15:42:52 +0100 |
|---|---|---|
| committer | Valentin <valentin@fricklerhandwerk.de> | 2025-11-06 16:46:28 +0100 |
| commit | 3a9952d3d4c9bb851e7a6a4d5b3e06676995988a (patch) | |
| tree | 3e9e407dd32cf591b52968bb7f3ee6a32601b38d | |
| parent | 3ef375132b8e13fa7ec5a566f0ccfa27d8cda257 (diff) | |
Anleitung zum Hinzufügen von Administratoren
| -rw-r--r-- | README.md | 46 | ||||
| -rw-r--r-- | keys.nix | 11 |
2 files changed, 39 insertions, 18 deletions
@@ -29,6 +29,39 @@ Spätere Aufrufe sind viel schneller, da nur Änderungen verarbeitet werden müs ## Abläufe +### SSH einrichten + +Folgendes in `~/.ssh/config` eintragen: + +``` +Host tharos + ForwardAgent yes + HostName 81.169.239.254 + IdentityFile /home/<user>/.ssh/tharos +``` + +wobei `<user>` das eigene lokale Linux-Benutzerkonto ist. + +### Administrator hinzufügen + +Nutzernamen von Administratoren und ihre SSH-Keys sind unter [`keys`](./keys) organisiert. +Das Format des Ordners ist in [`keys.nix`](./keys.nix) dokumentiert. + + +Sich selbst als Administrator mit genau einem SSH-Schlüssel hinzuzufügen: + +```bash +cat ~/.ssh/foo.pub > ./keys/$USER +``` + +Sich selbst als Administrator mit mehreren Schlüsseln hinzuzufügen: + +```bash +mkdir .keys/$USER +cp ~/.ssh/foo.pub > ./keys/$USER/ +cp ~/.ssh/bar.pub > ./keys/$USER/ +``` + ### Tests durchführen ```bash @@ -62,16 +95,7 @@ nix run .#infect-tharos Die NixOS-Installation erfolgt mit [`nixos-anywhere`](https://nix-community.github.io/nixos-anywhere/). -Angenommen, in `~/.ssh/config` ist Folgendes eingetragen: - -``` -Host tharos - ForwardAgent yes - HostName 81.169.239.254 - IdentityFile /home/user/.ssh/tharos -``` - -Dann kann man sich mit dem Produktionssystem über SSH verbinden: +Mit dem laufenden Produktionssystem über SSH verbinden: ```bash ssh tharos @@ -96,7 +120,5 @@ Flake Parts sind dokumentiert unter <https://flake.parts>. Zusätzlich wird mit `flakes.machines` eine eigene Abstraktion verwendet um Systeme und entsprechende Hilfswerkzeuge zu konfigurieren. Dies ist momentan nur im Quellcode dokumentiert in [`machines.nix`](./machines.nix). -Nutzernamen von Administratoren und ihre SSH-Keys sind unter [`keys`](./keys) organisiert. - Zur Zeit ist genau eine Maschine in Betrieb, die in [`tharos.nix`](./tharos.nix) spezifiziert ist. Der Server läuft bei [STRATO](https://www.strato.de) unter Kundennummer 73292174, Auftragsnummer 7709638. @@ -8,16 +8,15 @@ in Dateisystempfade zu öffentlichen SSH-Schlüsseln für alle Administratoren Kann benutzt werden um entsprechende Systemnutzer in `users.users` automatisch zu erstellen. + + Format der Verzeichniseinträge muss eines der Folgenden sein: + - Datei mit genau einem Eintrag für den jeweiligen Nutzer + - Verzeichnis mit Dateien die jeweils einen Eintrag enthalten ''; type = with types; attrsOf (listOf path); default = let - /* - Dateinamen mit öffentlichen SSH-Schlüsseln aus einem Verzeichnis mit Nutzernamen auslesen. - Format der Verzeichniseinträrge muss eines der Folgenden sein: - - Datei mit genau einem Eintrag für den jeweiligen Nutzer - - Verzeichnis mit Dateien die jeweils einen Eintrag enthalten - */ + # Dateinamen mit öffentlichen SSH-Schlüsseln aus einem Verzeichnis mit Nutzernamen auslesen. get-key-files = dir: let |
