Debian Template
Version vom 16. September 2024, 18:45 Uhr von Linkai.zhang (Diskussion | Beiträge) (→Automatische Generation neuer Schlüssel des SSH-Hosts)
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 Generation neuer Schlüssel des SSH-Hosts
- Damit nicht alle Klone der Vorlage über diesselbe Identifikation verfügen, löschen wir die Schlüssel der Vorlage und generieren diese bei Bedarf neu
- cd /etc/ssh
- rm -vi ssh_host_*
- Anschließend erstellen wir ein einfaces Skript für die Generation der Schlüssel falls sie fehlen
- vim /usr/local/bin/new-ssh-host-keys
#!/bin/bash
ssh_dir="/etc/ssh"
ls $ssh_dir/ssh_host_* > /dev/null 2>&1 || exit 0
cd $ssh_dir && ssh-keygen -A
- chmod +x /usr/local/bin/new-ssh-host-keys
- Jetzt muss systemd so angepasst werden, dass der ssh.service vor dem Start dieses Skript ausführt
- Dazu erstellen wir einen weiteren Dienst
- systemctl edit --full --force new-ssh-host-keys.service
[Unit] Description=Neue Schlüssel des SSH-Hosts nach dem Klonen Wants=basic.target [Service] ExecStart=/usr/local/bin/new-ssh-host-keys Type=oneshot [Install] WantedBy=ssh.service
- Die Option Type=oneshot sorgt dafür, dass der Befehl komplett ausgeführt wurde, bevor ssh.service startet
- systemctl enable new-ssh-host-keys.service
- Der Dienst ssh.service sollte nun warten bis der Dienst new-ssh-host-keys.service fertig ist
- systemctl edit ssh.service
... [Unit] After=network.target auditd.service new-ssh-host-keys.service ...
- Nun sollte jeder Boot zu neuen Schlüssel des SSH-Hosts führen