GROG.authorized-key
Autorisierte Schlüssel
Eine Rolle zum Verwalten autorisierter Schlüssel.
Die folgenden Rollen wurden entwickelt, um gut mit dieser Rolle zusammenzuarbeiten:
Die Rolle management-user kombiniert all diese Rollen in einer benutzerfreundlichen Rolle.
Anforderungen
- Hosts müssen für die Verwendung mit Ansible vorbereitet sein (Python, ...)
- Root-Rechte, z.B.
become: yes
Rollenvariablen
Variable | Beschreibung | Standardwert |
---|---|---|
authorized_key_list |
Liste von Benutzern und deren Schlüsseln (Details siehe!) | [] |
authorized_key_list_host |
Liste von Benutzern und deren Schlüsseln (Details siehe!) | [] |
authorized_key_list_group |
Liste von Benutzern und deren Schlüsseln (Details siehe!) | [] |
authorized_key_exclusive |
Standardwert für exclusive |
nein |
authorized_key_key_options |
Standardwert für key_options |
/ |
authorized_key_manage_dir |
Standardwert für manage_dir |
ja |
authorized_key_state |
Standardwert für state |
vorhanden |
Details zu authorized_key_list
authorized_key_list
, authorized_key_list_host
und authorized_key_list_group
werden zusammengeführt, wenn
die autorisierten Schlüssel verwaltet werden. Sie können die Host- und Gruppenlisten verwenden, um
Schlüssel pro Host oder Gruppenzuweisung zu spezifizieren.
Die Liste der autorisierten Schlüssel ermöglicht es Ihnen, zu definieren, welche Benutzer und ihre Schlüssel... verwalten werden sollen. Jeder Eintrag in der Liste besteht aus einem Benutzernamen und einer Liste von Schlüsseln.
Variable | Beschreibung | Standard |
---|---|---|
name |
Benutzername | / |
authorized_keys |
Liste von Schlüsseln | / |
Jeder Schlüssel in der Liste authorized_keys
kann folgende Attribute haben:
Variable | Beschreibung | Erforderlich | Standard |
---|---|---|---|
exclusive |
Soll dieser Schlüssel exklusiv sein? | nein | authorized_key_exclusive |
key |
SSH-Schlüssel | ja | / |
key_options |
SSH-Schlüsseloptionen, die dem Schlüssel vorangestellt werden | nein | / |
manage_dir |
Verwalte das Verzeichnis authorized_keys? | nein | authorized_key_manage_dir |
path |
Pfad für den SSH-Schlüssel | nein | 'home_dir/.ssh/authorized_keys' |
state |
Zustand des Schlüssels (vorhanden/nicht vorhanden) | nein | authorized_key_state |
Beispiel 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') }}"
Abhängigkeiten
Keine.
Beispiel-Playbook
---
- hosts: servers
roles:
- { role: GROG.authorized-key, become: yes }
In 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') }}"
Mitwirken
Alle Unterstützung, Änderungen oder Ideen willkommen!
Autor
Von G. Roggemans
Lizenz
MIT
ansible-galaxy install GROG.authorized-key