Debian Template: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 39: | Zeile 39: | ||
== Skript zur Erzeugung der Schlüssel == | == Skript zur Erzeugung der Schlüssel == | ||
| − | + | Datei: /usr/local/sbin/new-ssh-host-keys | |
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
| Zeile 56: | Zeile 56: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | + | * '''chmod +x /usr/local/sbin/new-ssh-host-keys''' | |
| − | |||
| − | |||
== systemd-Dienst anpassen == | == systemd-Dienst anpassen == | ||
| − | + | * '''systemctl edit ssh.service''' | |
| − | |||
| − | |||
Folgendes ergänzen: | Folgendes ergänzen: | ||
| Zeile 73: | Zeile 69: | ||
</pre> | </pre> | ||
| − | + | * '''systemctl daemon-reexec''' | |
| − | |||
| − | |||
== Ergebnis == | == Ergebnis == | ||
Version vom 12. April 2025, 13:11 Uhr
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
- Der Standardeditor sollte auf vim.basic gestellt werden
- update-alternatives --config editor
- Falls ein Benutzer passwortlos zum root-Nutzer werden darf, muss dieser in der sudo-Gruppe sein und die /etc/sudoers-Datei angepasst werden
- gpasswd -a user sudo
- 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