15. August 2024

Ansible: Linux Server Automatisierung für Einsteiger

Wie ich mit Ansible mein Homelab automatisiert habe – von der Installation bis zu ersten Playbooks.

Ansible Linux Automation Homelab

Warum Ansible?

Nachdem ich meinen dritten Linux-Server im Homelab manuell konfiguriert hatte, war mir klar: Das kann nicht der richtige Weg sein. Ansible bietet genau das, was ich brauchte – agentlosen, idempotenten Konfigurationsmanagement über SSH.

Installation

# Debian/Ubuntu
sudo apt install ansible

# Oder via pip
pip install ansible

Erstes Inventory

# inventory/hosts.yml
all:
  hosts:
    proxmox01:
      ansible_host: 192.168.10.10
    proxmox02:
      ansible_host: 192.168.10.11
  children:
    webservers:
      hosts:
        nginx01:
          ansible_host: 192.168.20.10

Erstes Playbook: Server härten

# playbooks/hardening.yml
- name: Basis-Härtung
  hosts: all
  become: true
  tasks:
    - name: SSH PasswordAuthentication deaktivieren
      lineinfile:
        path: /etc/ssh/sshd_config
        regexp: '^PasswordAuthentication'
        line: 'PasswordAuthentication no'
      notify: Restart SSH

    - name: ufw installieren und aktivieren
      ufw:
        state: enabled
        policy: deny

Meine Erkenntnisse

Nach einigen Wochen Ansible-Erfahrung ist mein größtes Learning: Idempotenz konsequent umsetzen. Jedes Playbook sollte mehrfach ausführbar sein, ohne unerwünschte Nebeneffekte zu erzeugen.

Die Lernkurve ist flach – wer YAML kennt und SSH versteht, kann innerhalb eines Tages produktive Playbooks schreiben.