5.7 KiB
Standard Operating Procedure (SOP)
Dokumenten-ID: GNAI-INFRA-002
Titel: Benutzerverwaltung, SSH-Härtung & Netzwerkkonfiguration (Phase 2)
Version: 1.0
1. Zweck und Geltungsbereich
Dieses Dokument beschreibt die Erstellung von Systembenutzern mit Berechtigungen, die Härtung des SSH-Dienstes (Abschaltung von Root-Login und Passwort-Authentifizierung), die Umstellung auf eine statische IP-Adresse sowie die Konfiguration des SSH-Zugriffs von Admin-Workstations auf LLM-Servern.
2. Voraussetzungen & Berechtigungen
- Bereits installiertes Debian-Grundsystem gemäß GNAI-INFRA-001.
- Root-Zugriff oder Benutzer mit
sudo-Rechten. - Admin-Workstation mit lokal installierter SSH-Suite (
ssh-keygen,ssh-copy-id).
3. Prozessbeschreibung
3.1 Benutzerverwaltung & Sudo-Berechtigungen (Server-Seite)
1. Sudo-Paket installieren & prüfen (falls noch nicht geschehen)
Als root am Server anmelden:
su -
apt update && apt install -y sudo
2. Benutzer anlegen & Berechtigungen vergeben
Wichtig: Beim Anlegen von Benutzern immer
adduserverwenden (interaktive Eingabe von Passwort und Benutzerdaten). Falls versehentlichuserdelbenötigt wird, zwingend die Option-rnutzen, um das Home-Verzeichnis mit aufzuräumen (sudo userdel -r <username>).
Neuen Benutzer anlegen und zur sudo-Gruppe hinzufügen:
# Beispiel für Benutzer 'ghost' oder 'debugofen'
sudo adduser debugofen
sudo usermod -aG sudo debugofen
3.2 Statische Netzwerkkonfiguration (Server-Seite)
1. Netzschnittstelle ermitteln & anpassen
Lass dir die primäre Netzwerkschnittstelle anzeigen (z. B. enp8s0):
ip addr show
Bearbeite die Datei /etc/network/interfaces:
sudo nano /etc/network/interfaces
Netzwerkkonfiguration für statische IP eintragen:
# Loopback Interface
auto lo
iface lo inet loopback
# Primary Network Interface
allow-hotplug enp8s0
iface enp8s0 inet static
address 10.0.0.90/24
gateway 10.0.0.1
dns-nameservers 10.0.0.1 1.1.1.1
2. DNS-Resolver prüfen/anpassen
Prüfe die Datei /etc/resolv.conf:
sudo nano /etc/resolv.conf
Sicherstellen, dass folgende Nameserver eingetragen sind:
nameserver 10.0.0.1
nameserver 1.1.1.1
3. Netzwerkdienst neustarten & Funktion prüfen
sudo systemctl restart networking
ip -4 addr
ping -c 4 google.com
(Tritt ein Konfigurationskonflikt auf, das System einmal per sudo reboot neustarten).
3.3 SSH-Key-Generierung & Übertragung (Workstation-Seite)
Führe diese Schritte auf der lokalen Workstation aus.
1. Ed25519 SSH-Schlüsselpaar erzeugen
ssh-keygen -t ed25519 -C "ghost@ghostnet-ki" -f ~/.ssh/id_ed25519_ghost
ssh-keygen -t ed25519 -C "debugofen@ghostnet-ki" -f ~/.ssh/id_ed25519_debugofen
2. Public Keys auf den Server übertragen
Verwende ssh-copy-id, um die öffentlichen Schlüssel auf den Server zu kopieren (vorläufig noch mit Passwort-Authentifizierung):
ssh-copy-id -i ~/.ssh/id_ed25519_ghost.pub ghost@10.0.0.90
ssh-copy-id -i ~/.ssh/id_ed25519_debugofen.pub debugofen@10.0.0.90
3. Schlüsselbasierten Login testen
ssh -i ~/.ssh/id_ed25519_ghost ghost@10.0.0.90
ssh -i ~/.ssh/id_ed25519_debugofen debugofen@10.0.0.90
4. Workstation Client-Config einrichten (~/.ssh/config)
Erstelle/bearbeite die Datei ~/.ssh/config auf der Workstation, um Kurznamen für Verbindungen zu nutzen:
nano ~/.ssh/config
Inhalt eintragen:
Host *
AddKeysToAgent yes
IdentitiesOnly yes
Host ghostnet.ki
Hostname 10.0.0.90
User ghost
IdentityFile ~/.ssh/id_ed25519_ghost
Berechtigungen auf der Workstation korrigieren:
chmod 600 ~/.ssh/config
Verbindung über den Alias testen:
ssh ghostnet.ki
3.4 SSH-Dienst härten (Server-Seite)
Sobald der SSH-Key-Login erfolgreich getestet wurde, wird die Passwort-Authentifizierung aus Sicherheitsgründen serverseitig komplett deaktiviert.
1. Drop-in-Konfiguration für SSH erstellen
sudo nano /etc/ssh/sshd_config.d/99-security.conf
Füge folgenden Inhalt ein:
# Root-Login über SSH komplett verbieten
PermitRootLogin no
# Passwort-Authentifizierung deaktivieren (nur SSH-Keys erlauben)
PasswordAuthentication no
KbdInteractiveAuthentication no
# Leere Passwörter verbieten
PermitEmptyPasswords no
# Nur explizite SSH-Key Methoden erlauben
PubkeyAuthentication yes
2. SSH-Konfiguration prüfen und Dienst neustarten
Achtung: Die bestehende SSH-Sitzung nicht schließen, bevor der Login in einem zweiten Terminalfenster erfolgreich verifiziert wurde!
# Syntaktische Prüfung der Konfiguration
sudo sshd -t
# Wenn sshd -t keine Fehler ausgibt, Dienst neustarten
sudo systemctl restart sshd
4. Abnahmekriterien (Checkliste für den Junior-Admin)
- Benutzerprüfung: Der Benutzer kann sich mit
sudoadministrative Rechte verschaffen (whoaminachsudoergibtroot). - Netzwerk: Server ist unter der statischen IP
10.0.0.90erreichbar. Ausgehender Datenverkehr funktioniert (ping google.com). - SSH-Alias: Der Login von der Workstation über
ssh ghostnet.kifunktioniert ohne Passworteingabe. - Root-Sperre: Direct-Login als Root per SSH wird abgelehnt (
ssh root@10.0.0.90-> Permission denied). - Passwort-Sperre: Login-Versuch ohne hinterlegten SSH-Key wird direkt abgelehnt (keine Passwort-Aufforderung mehr).
5. Dokumentation der Änderungen
| Datum | Version | Geändert von | Beschreibung der Änderung |
|---|---|---|---|
| 2026-08-26 | 1.0 | spektr | Erstellung des Dokuments (Benutzer, Netzwerkkonfiguration, SSH-Härtung) |