Debian Template

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Anleitung für das Erstellen einer Vorlage für einfache Debian-Server zum Testen.

Mindestvorraussetzungen für Hardware

  • 1 CPU
  • 1 GB RAM
  • 10 GB Festplattenspeicher

Installationsoptionen

  • Falls bei einem Menü nach dem Installieren einer graphischen Oberfläche gefragt wird, sollten die Haken dafür entnommen werden
  • Die Installation eines SSH-Servers sollte aber angekreuzt werden

Einrichtung

Für eine angenehme Schriftgröße kann der Befehl dpkg-reconfigure console-setup benutzt werden, um diese auf den Bildschirm anzupassen

Diese Pakete sollte man nachzuinstallieren, um auf der Kommandozeile arbeiten zu können

  • apt install vim sudo git curl tcpdump nmap

Falls ein Benutzer passwortlos zum root-Nutzer werden darf, muss dieser in der sudo-Gruppe sein und die /etc/sudoers-Datei angepasst werden

  • usermod -aG sudo kit
  • sicheres Bearbeiten der /etc/sudoers-Datei
  • visudo
# Kein Check des Hostnamens nötig
# Das macht nur Probleme beim Ändern des Hostnamens
Defaults !fqdn
...
# Alter Eintrag
# %sudo   ALL=(ALL:ALL) ALL
# Neuer Eintrag
%sudo   ALL=(ALL:ALL) NOPASSWD:ALL

Automatische SSH-Hostschlüssel nur auf dem Template erzeugen

Damit nicht alle Klone des Templates dieselben SSH-Hostschlüssel verwenden, sollen die Schlüssel nur dann neu erzeugt werden, wenn der Hostname debian-template ist. Dies wird beim Start automatisch über einen ExecStartPre-Hook im ssh.service erledigt.

Skript zur Erzeugung der Schlüssel

Datei: /usr/local/sbin/new-ssh-host-keys

#!/bin/bash

template_name="debian-template"
current_host=$(hostname)

if [ "$current_host" = "$template_name" ]; then
    echo "Template erkannt – SSH-Hostschlüssel werden neu erzeugt."
    rm -f /etc/ssh/ssh_host_*
    ssh-keygen -A
else
    echo "Nicht das Template – keine Änderung."
fi
  • chmod +x /usr/local/sbin/new-ssh-host-keys

systemd-Dienst anpassen

  • systemctl edit ssh.service

Folgendes ergänzen:

[Service]
ExecStartPre=/usr/local/sbin/new-ssh-host-keys
  • systemctl daemon-reexec

Ergebnis

  • Auf dem Template-Host debian-template werden die alten Schlüssel gelöscht und neu erzeugt
  • Auf allen Klonen passiert nichts – die Schlüssel bleiben erhalten
  • Kein zusätzlicher systemd-Dienst nötig
  • Sauber integriert in den bestehenden ssh.service