GROG.authorized-key
Clé Autorisée
Un rôle pour gérer les clés autorisées.
Les rôles suivants ont été conçus pour fonctionner ensemble avec ce rôle :
Le rôle management-user combine tous ces rôles en un rôle facile à utiliser.
Exigences
- Les hôtes doivent être préparés pour l'utilisation d'ansible (avoir python,...)
- Privilèges root, par exemple
become: yes
Variables de rôle
Variable | Description | Valeur par défaut |
---|---|---|
authorized_key_list |
Liste des utilisateurs et de leurs clés (voir détails !) | [] |
authorized_key_list_host |
Liste des utilisateurs et de leurs clés (voir détails !) | [] |
authorized_key_list_group |
Liste des utilisateurs et de leurs clés (voir détails !) | [] |
authorized_key_exclusive |
Valeur par défaut pour exclusive |
no |
authorized_key_key_options |
Valeur par défaut pour key_options |
/ |
authorized_key_manage_dir |
Valeur par défaut pour manage_dir |
yes |
authorized_key_state |
Valeur par défaut pour state |
present |
Détails de authorized_key_list
authorized_key_list
, authorized_key_list_host
et authorized_key_list_group
sont fusionnés lors de la gestion des clés autorisées. Vous pouvez utiliser les listes d'hôtes et de groupes pour spécifier des clés par hôte ou groupe d'hôtes.
La liste des clés autorisées vous permet de définir quels utilisateurs et leurs clés doivent être gérés. Chaque élément de la liste se compose d'un nom d'utilisateur et d'une liste de clés.
Variable | Description | Valeur par défaut |
---|---|---|
name |
Nom d'utilisateur | / |
authorized_keys |
Liste de clés | / |
Chaque clé de la liste des authorized_keys
peut avoir les attributs suivants :
Variable | Description | Requis | Valeur par défaut |
---|---|---|---|
exclusive |
Cette clé doit-elle être exclusive ? | no | authorized_key_exclusive |
key |
Clé SSH | yes | / |
key_options |
Options de clé SSH à préfixer à la clé | no | / |
manage_dir |
Gérer le répertoire des authorized_keys ? | no | authorized_key_manage_dir |
path |
Chemin pour la clé SSH | no | 'home_dir/.ssh/authorized_keys' |
state |
État de la clé (présente/absente) | no | authorized_key_state |
Exemple de authorized_key_list
authorized_key_list:
- name: testuser1
authorized_keys:
- key: "{{ lookup('file', '/home/charlie/.ssh/id_rsa.pub') }}"
- key: "{{ lookup('file', '/home/john/.ssh/id_rsa.pub') }}"
state: absent
- name: testuser2
authorized_keys:
- key: "{{ lookup('file', '/home/charlie/.ssh/id_rsa.pub') }}"
Dépendances
Aucune.
Exemple de Playbook
---
- hosts: servers
roles:
- { role: GROG.authorized-key, become: yes }
Dans group_vars/servers.yml
:
authorized_key_list_group:
- name: user
authorized_keys:
- key: "{{ lookup('file', '/home/charlie/.ssh/id_rsa.pub') }}"
- key: "{{ lookup('file', '/home/john/.ssh/id_rsa.pub') }}"
Contributions
Toute aide, changement ou idée bienvenue !
Auteur
Par G. Roggemans
Licence
MIT
ansible-galaxy install GROG.authorized-key