Workstation-Ansible
Links
[Bearbeiten]Zielsetzung
[Bearbeiten]Installation einer Workstation (Linux mit GUI) mittels Ansible und dem Framework ansknife.
Systemvoraussetzungen
[Bearbeiten]Diese Beschreibung bezieht sich auf eine Linuxumgebung eines Debian-Systems.
Paketinstallation
[Bearbeiten]apt install ansible openssh-server
Installation Entwicklungsumgebung
[Bearbeiten]Es ist sinnvoll, die Entwicklungsumgebung "Microsoft Visual Code" zu verwenden.
- Gehe auf https://code.visualstudio.com/download - Lade das *.deb-Paket herunter
dpkg -i code*.deb
SSH vorbereiten
[Bearbeiten]Ansible verwendet SSH, um mit den entfernten Server zu kommunizieren. Daher muss ein SSH-Zugriff ermöglicht werden.
Erstellen eines Zertifikats
[Bearbeiten]#ssh-keygen -t rsa -b 4096
ssh-keygen -t ed25519 -C "your_username@your_host"
Es wird ein Passwort abgefragt, mit dem dann das Zertifikat geschützt ist.
Wichtig: Unbedingt ein Passwort vergeben, da der Zugriff auf den entfernten Server mit Root-Rechten erfolgt, also wirklich alles offenlegt.
Zugriff auf localhost per ssh ermöglichen
[Bearbeiten]Um die Konfiguration zu ändern muss ssh auf die lokale Workstation per ssh zugreifen können:
adduser ansadm -uid=260
DIR=/home/ansadm/.ssh
cat $DIR/id_rsa.pub >>$DIR/authorized_keys
chmod 600 $DIR/authorized_keys
chown ansadm $DIR/authorized_keys
Verwendung von ssh-agent
[Bearbeiten]Damit das Passwort des Zertifikats nur einmal pro Session eingeben werden muss, kann das Programm ssh-agent verwendet werden. Dieses wird normalerweise automatisch gestartet.
Hier ein Test, ob es läuft:
ps aux | grep ssh-agent
'''
Wird hier ein Prozess angezeigt, läuft ssh-agent.
Wenn nicht:
<syntaxhighlight lang="bash">
eval $(ssh-agent)
Der Schlüssel wird so "angemeldet":
ssh-add
Hier wird das Passwort des Zertifikats abgefragt. Dieses ist dann bis zum Ende der Session "gültig", d.h. es wird nicht mehr benötigt.
- Anlegen von ansadm
Damit die Konfiguration von ansible selber verändert werden kann, muss ein Benutzer ansadm angelegt werden, der dann als "Ziel" von ssh verwendet wird:
adduser ansadm --uid=260
Bei der Passwortabfrage und Wiederholung verschiedene Phrasen angeben und auf Wiederholung verzichten, damit kein Login möglich ist.
Für ansadm muss "sudo" erlaubt sein: In die Datei /etc/sudoers nach "root" am Zeilenanfang suchen, danach der Eintrag:
ansadm: ALL=NOPASSWD: ALL
Standardinstallation
[Bearbeiten]ansible-playbook playbooks/i_10_basic.yaml
ansible-playbook playbooks/i_11_user.yaml
ansible-playbook playbooks/i_17_configuration.yaml