#!/bin/bash # # First-Boot Setup fuer geklonte Rechner # # Dieses Script nach dem Klonen EINMAL ausfuehren auf jedem Rechner: # sudo ~/ansible-schule/files/first-boot-setup.sh laptop05 # # Es macht: # 1. Neuen Hostnamen setzen # 2. Neue SSH-Host-Keys generieren (wichtig!) # 3. Neue Machine-ID generieren # set -e # Farben RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' NC='\033[0m' echo -e "${GREEN}=== First-Boot Setup ===${NC}" # Hostname als Parameter oder interaktiv if [ -n "$1" ]; then NEW_HOSTNAME="$1" else read -p "Neuer Hostname (z.B. laptop05): " NEW_HOSTNAME fi if [ -z "$NEW_HOSTNAME" ]; then echo -e "${RED}Fehler: Kein Hostname angegeben${NC}" exit 1 fi echo -e "${YELLOW}Setze Hostname auf: $NEW_HOSTNAME${NC}" # 1. Hostname setzen hostnamectl set-hostname "$NEW_HOSTNAME" sed -i "s/127.0.1.1.*/127.0.1.1\t$NEW_HOSTNAME/" /etc/hosts # 2. Neue SSH-Host-Keys generieren echo -e "${YELLOW}Generiere neue SSH-Host-Keys...${NC}" rm -f /etc/ssh/ssh_host_* ssh-keygen -A # 3. Neue Machine-ID generieren echo -e "${YELLOW}Generiere neue Machine-ID...${NC}" rm -f /etc/machine-id /var/lib/dbus/machine-id dbus-uuidgen --ensure=/etc/machine-id cp /etc/machine-id /var/lib/dbus/machine-id # 4. SSH-Dienst neustarten systemctl restart ssh echo "" echo -e "${GREEN}=== Setup abgeschlossen ===${NC}" echo -e "Hostname: ${GREEN}$NEW_HOSTNAME${NC}" echo "" echo "Optional: Rechner neustarten mit 'sudo reboot'" echo ""