Debian Template: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(40 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Kategorei:Debian]]
+
[[Kategorie:Debian]]
[[Kategorei:Linux]]
+
[[Kategorie:Linux]]
Anleitung für das Erstellen einer Vorlage für einfache Debian-Server zum Testen.
+
'''!!!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 [[:Kategorie:SSH|SSH]]-Server soll aber für die Remoteverwaltung installiert werden
  
 
= Mindestvorraussetzungen für Hardware =
 
= 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'''
 +
* GRUB: /dev/sda
  
* 1 CPU
+
=Benutzer=
* 1 GB RAM
+
*user: kit
* 10 GB Festplattenspeicher
+
*pass: kit
 +
*admin: root
 +
*pass: radler
  
 
= Installationsoptionen =
 
= Installationsoptionen =
Zeile 14: Zeile 33:
  
 
= Einrichtung =
 
= Einrichtung =
* Diese Pakete sollte man nachzuinstallieren, um auf der Kommandozeile arbeiten zu können
+
Wir bringen das System auf den neusten Stand
* '''apt install vim sudo git curl tcpdump nmap'''
+
*'''apt update'''
* Der Standardeditor sollte auf ''vim.basic'' gestellt werden
+
*'''apt full-upgrade'''
* '''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
+
Diese Pakete sollte man nachinstallieren, um auf der Kommandozeile arbeiten zu können
* '''gpasswd -a ''user'' sudo'''
+
*'''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
 
* sicheres Bearbeiten der ''/etc/sudoers''-Datei
* '''visudo'''
+
*'''visudo'''
  
 +
# Kein Check des Hostnamens nötig
 +
# Das macht nur Probleme beim Ändern des Hostnamens
 +
Defaults !fqdn
 +
...
 
  # Alter Eintrag
 
  # Alter Eintrag
 
  # %sudo  ALL=(ALL:ALL) ALL
 
  # %sudo  ALL=(ALL:ALL) ALL
 
  # Neuer Eintrag
 
  # Neuer Eintrag
 
  %sudo  ALL=(ALL:ALL) NOPASSWD:ALL
 
  %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
 +
 +
<syntaxhighlight lang="bash">
 +
#!/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
 +
 +
</syntaxhighlight>
 +
 +
* '''chmod +x /usr/local/sbin/new-ssh-host-keys'''
 +
 +
== systemd-Dienst anpassen ==
 +
 +
* '''systemctl edit ssh.service'''
 +
 +
Folgendes ergänzen:
 +
 +
<pre>
 +
[Service]
 +
ExecStartPre=/usr/local/sbin/new-ssh-host-keys
 +
</pre>
 +
 +
* '''systemctl daemon-reexec'''
 +
 +
=CA ziehen=
 +
*wget https://web.samogo.de/certs/ca.crt
 +
*sudo cp ca.crt /usr/local/share/ca-certificates/
 +
*sudo update-ca-certificates
 +
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=
 +
*[[Debian Setup Script]]
 +
 +
*cd /usr/local/sbin/
 +
*wget https://xinux.de/downloads/script/debian-setup.sh
 +
*wget https://xinux.de/downloads/script/get-cert.sh
 +
*chmod +x *.sh

Aktuelle Version vom 30. April 2026, 12:50 Uhr

!!!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
  • 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

  • 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
# 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

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