Ansible Bootstrap: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 67: | Zeile 67: | ||
<nowiki>key: "{{ lookup('file', '~/.ssh/id_rsa.pub') }}"</nowiki> | <nowiki>key: "{{ lookup('file', '~/.ssh/id_rsa.pub') }}"</nowiki> | ||
* ansible-playbook bootstrap.yml -k | * ansible-playbook bootstrap.yml -k | ||
| + | * Jetzt sollte kein Passwort notwendig sein | ||
| + | * ansible -m gather_facts debian | ||
<!-----> | <!-----> | ||
Version vom 13. Februar 2023, 11:15 Uhr
Vorbereitung
Man kann als unpriviligierter Benutzer Ansible benutzen. Dazu erstellen wir erstmal einen Arbeitordner im Home-Verzeichnis.
- cd ~
- mkdir ansible
Ansible-Konfigurationsdateien
ansible.cfg
- Hier schaut Ansible nach Dateien wie:
- die Liste der Hosts
- Playbook-Verzeichnisse
- Standard Remote-User
- etc.
- cat ansible.cfg
[defaults] inventory = inventory remote_user = xinux
inventory
- diese Datei enthält die zu administrierenden Hosts
- man kann diese in Gruppen einteilen und bestimmte Variablen (SSH-Passwort, Python-Interpreter, Become-Methode…) zuordnen
- cat inventory
[debian] 10.81.3.10
Erreichbarkeitstest
- ansible -m gather_facts debian -k
Bootstrap
Passwortloses Login
Erstellen von SSH-Keys
- ssh-keygen
Hinterlegen des öffentlichen SSH-Keys
- cat bootstrap.yml
---
- name: Bootstrap eines einzelnen Hosts
hosts: debian
tasks:
- name: Hinterlege SSH-Key
authorized_key:
user: xinux
state: present
key: "{{ lookup('file', '~/.ssh/id_rsa.pub') }}"
- ansible-playbook bootstrap.yml -k
- Jetzt sollte kein Passwort notwendig sein
- ansible -m gather_facts debian
Playbook
- cat bootstrap.yml
---
- name: Grundlegende Einrichtung der Hosts
hosts: all
become: true
tasks:
- name: Füge Benutzer xinux zur Gruppe sudo hinzu
user:
name: xinux
groups: sudo
append: true
- name: Hinterlege SSH publickey bei den Benutzern xinux und root
authorized_key:
user: "Vorlage:Item"
state: present
key: "Vorlage:Lookup('file', '/path/to/public key')"
with_items:
- xinux
- root
Ausführen
- ansible-playbook bootstrap.yml