Control Node einrichten und Verbindungen prüfen
Ansible braucht auf den Zielsystemen keinen Agenten, aber sehr wohl SSH, Python und einen Benutzer mit sudo-Rechten. Diese drei Dinge klärst du, bevor du das erste Playbook schreibst.
# RHEL / Rocky / Alma
sudo dnf install -y ansible-core
# Debian / Ubuntu
sudo apt install -y ansible-core
# Distributionsunabhängig, wenn du eine neuere Version brauchst
pipx install --include-deps ansible
ansible --version # zeigt Config-Datei, Python-Version und Collection-Pfadeansible-core bringt nur die Module aus ansible.builtin mit. Alles andere, etwa community.general oder ansible.posix, holst du dir mit ansible-galaxy collection install. Das Paket ansible ist dagegen die große Sammlung mit mehreren hundert Collections.
ssh-keygen -t ed25519 -C "ansible@control" -f ~/.ssh/id_ed25519_ansible
ssh-copy-id -i ~/.ssh/id_ed25519_ansible.pub ansible@web01.example.internal
# Auf dem Ziel: sudo ohne Passwortabfrage, nur für diesen einen Benutzer
echo 'ansible ALL=(ALL) NOPASSWD:ALL' | sudo tee /etc/sudoers.d/ansible
sudo chmod 0440 /etc/sudoers.d/ansible
sudo visudo -cvisudo -c ist Pflicht, nicht Kür. Eine kaputte Datei in /etc/sudoers.d/ legt sudo auf dem gesamten Host lahm, und zwar auch für dich.