Debian Template: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 43: Zeile 43:
 
#!/bin/bash
 
#!/bin/bash
 
ssh_dir="/etc/ssh"
 
ssh_dir="/etc/ssh"
ls $ssh_dir/ssh_host_* > /dev/null 2>&1 || exit 0
+
ls $ssh_dir/ssh_host_* > /dev/null 2>&1 && exit 0
  
 
cd $ssh_dir && ssh-keygen -A
 
cd $ssh_dir && ssh-keygen -A

Version vom 28. September 2024, 17:23 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 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/sbin/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/sbin/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/sbin/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