Debian Template: Unterschied zwischen den Versionen
| (36 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
[[Kategorie:Debian]] | [[Kategorie:Debian]] | ||
[[Kategorie:Linux]] | [[Kategorie:Linux]] | ||
| − | Anleitung für das Erstellen einer Vorlage für | + | '''!!!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 | ||
| − | * | + | =Benutzer= |
| − | * | + | *user: kit |
| − | * | + | *pass: kit |
| + | *admin: root | ||
| + | *pass: radler | ||
= Installationsoptionen = | = Installationsoptionen = | ||
| Zeile 14: | Zeile 33: | ||
= Einrichtung = | = Einrichtung = | ||
| − | * | + | Wir bringen das System auf den neusten Stand |
| − | + | *'''apt update''' | |
| − | * '''apt install vim sudo git curl tcpdump nmap''' | + | *'''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 | * sicheres Bearbeiten der ''/etc/sudoers''-Datei | ||
| − | * '''visudo''' | + | *'''visudo''' |
# Kein Check des Hostnamens nötig | # Kein Check des Hostnamens nötig | ||
| Zeile 33: | Zeile 57: | ||
%sudo ALL=(ALL:ALL) NOPASSWD:ALL | %sudo ALL=(ALL:ALL) NOPASSWD:ALL | ||
| − | = Automatische | + | =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"> | <syntaxhighlight lang="bash"> | ||
#!/bin/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> | </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
- 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
- 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