Debian Template

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

!!!Bitte setzt alle Punkte um, es ist wichtig wenn ich später hilfe braucht!!!

Anleitung für das Erstellen einer Vorlage für einfaches Debian-System

  • Für VMs als Server empfiehlt es sich eine Vorlage zu erstellen, die schon minimal konfiguriert ist
  • Der Nutzer root soll das Passwort radler haben
  • Ein Benutzer kit mit dem Passwort kit soll angelegt werden
  • die Vorlage soll keine graphische Oberfläche haben (Bei der Installation abwählen)
  • Ein SSH-Server soll aber für die Remoteverwaltung installiert werden

Mindestvorraussetzungen für Hardware

Daten
  • 1 CPU
  • 2 GB RAM
  • 20 GB Festplattenspeicher
Layout
  • /dev/sda1 / 20G
Weitere Einstellungen
  • Hostname: debian-template.it2XX.int
  • Netzwerk: Netzwerkbrücke br0 oder das externe Interface des Hosts
  • GRUB: /dev/sda

Benutzer

  • user: kit
  • pass: kit
  • admin: root
  • pass: radler

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

Wir bringen das System auf den neusten Stand

  • su -
  • apt update
  • apt full-upgrade

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

  • apt install vim sudo git curl tcpdump nmap resolvconf libnss-myhostname

Wir löschen in der 2. Zeile in der Datei /etc/hosts den Eintrag raus. Wir machen das nun über libnss-myhostname

127.0.1.1       debian-template.int debian-template


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
# %sudo   ALL=(ALL:ALL) ALL
# Neuer Eintrag
%sudo   ALL=(ALL:ALL) NOPASSWD:ALL

Wer will darf vim benutzen

  • sudo update-alternatives --config editor

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

current_host=$(hostname -s)
echo $current_host

if [[ "$current_host" = *-template ]]; 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

CA ziehen

Updating certificates in /etc/ssl/certs...
rehash: warning: skipping ca-certificates.crt,it does not contain exactly one certificate or CRL
1 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.

Setup Scripts

Anpassen eines Rechners - Beispiel

Parameter Wert Erläuterung
Netzwerk (NIC) Externer Schnittstelle Interface-Zuweisung in VirtualBox
IP 172.22.2XX.100 Statische IP
CIDR 16 Classless Inter-Domain Routing Präfixlänge
GW 172.22.1.1 GATEWAY
NS 172.22.1.1 Resolver
FQDN extern.it2XX.int Fully Qualified Domain Name
SHORT extern Short Name
DOM it2XX.int Domain Name

Hostname

  • hostnamectl set-hostname FQDN

Netzwerk

  • nano /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto enp0s3
iface enp0s3 inet static 
 address IP/CIDR
 gateway GW
 dns-nameservers NS
 dns-search DOM

Reboot

  • systemctl reboot