Hier wird die Installation auf Linux Debian, Ubuntu oder RedHat/Centos beschrieben.
Voraussetzung
Für die tägliche Arbeit mit Ansible empfiehlt sich die Installation auf einem Rechner bzw. Server, auf dem Linux installiert ist, von dem aus die zu verwaltenden Server gut zu erreichen sind.
Damit Ansible von der Administrations-Installation aus auf die zu verwaltenden Server zugreifen kann, müssen diese über ein Netzwerk erreichbar sein. Dabei spielt es keine Rolle, ob die Geräte über das Internet, das LAN oder ein VPN erreicht werden können.
Die Kommunikation zwischen Ansible und den entfernten Hosts läuft im Wesentlichen über ssh (secure shell). Damit Ansible auf dem zentralen Host ohne Passwort auf die entfernten Server zugreifen kann, muss eine SSH-Verbindung mittels Zertifikat möglich sein.
Installation
Neben der Software von Ansible benötigen wir nur wenig weitere Zutaten:
Die Installation von Ansible erfolgt in der Regel durch den Paket-Manager der eingesetzten Linux-Distribution. Ansible selbst basiert auf der Programmiersprache python. Die dafür notwendigen Pakete werden durch den Paketmanager (yum oder apt) mit installiert.
Installation auf Ubuntu/Debian
Befehl zum Installieren der Pakete:
sudo apt install ansible
User erstellen
Es ist sinnvoll einen eigenen user für ansible zu erstellen.
sudo adduser ansible
SSH-Key erstellen
Damit später eine passwort-lose Anmeldung auf den entfernten Rechnern möglich ist, muss einmal zentral auf dem Verwaltungs-Server ein ssh-Schlüssel erzeugt werden:
ssh-keygen -f ~/ansible-key-ecdsa -t ecdsa -b 521
Die anschließend gestellten Fragen nach einer Passphrase bestätigen Sie mit Return.
Nun sind um Verzeichnis /ansible/.ssh/ zwei Dateien vorhanden. Die ist der geheime Teil des Schlüssels (ansible-key-ecdsa) sowie der öffentliche Teil des RSA-Schlüssels: ansible-key-ecdsa.pub (pub = public).
SSH-Key auf die entfernten Rechner kopieren
Damit eine passwortlose Anmeldung auf den entfernten Rechnern möglich ist, muss nun der öffentliche Teil des Schlüssels auf den entfernten Server kopiert werden. Das geht am einfachsten mit ssh-copyid
ssh-copy-id -id id_rsa.pub ansible@<entfernter Server>
Auf dem entfernten Server muss folgendes in die Datei /etc/sudoers eingetragen werden.
ansible ALL=(ALL) NOPASSWD ALL