v1.0.0
This commit is contained in:
32
playbooks/playbook_ssh_keys.yml
Normal file
32
playbooks/playbook_ssh_keys.yml
Normal file
@@ -0,0 +1,32 @@
|
||||
---
|
||||
# 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 }}"
|
||||
Reference in New Issue
Block a user