--- # Zarządzanie kluczami publicznymi SSH konta logowania (root lub mgmt, w zależności # od grupy PatchMon hosta) na całej flocie jednym uruchomieniem. # # Lista kluczy: admin_ssh_keys w group_vars/all.yml (uzupełnij przed użyciem). # # Domyślnie tylko DODAJE brakujące klucze (bezpieczne). Aby wymusić, żeby # authorized_keys zawierał WYŁĄCZNIE klucze z admin_ssh_keys (usuwając inne), # uruchom z: -e "ssh_keys_exclusive=true" — rób to świadomie, może odciąć dostęp. - name: Zarządzanie kluczami SSH konta logowania hosts: all gather_facts: false vars: ssh_keys_exclusive: false tasks: - name: Sprawdź, czy admin_ssh_keys nie jest puste ansible.builtin.assert: that: - admin_ssh_keys | length > 0 fail_msg: >- admin_ssh_keys jest puste — uzupełnij listę kluczy w group_vars/all.yml przed uruchomieniem tego playbooka. run_once: true delegate_to: localhost - name: Zapewnij obecność kluczy publicznych w authorized_keys ansible.posix.authorized_key: user: "{{ ansible_user }}" key: "{{ admin_ssh_keys | join('\n') }}" state: present exclusive: "{{ ssh_keys_exclusive }}"