GROG.authorized-key
Clave Autorizada
Un rol para gestionar claves autorizadas.
Los siguientes roles están diseñados para trabajar en conjunto con este rol:
El rol usuario-de-gestión combina todos estos roles en uno fácil de usar.
Requisitos
- Los hosts deben estar configurados para el uso de ansible (tener python, ...)
- Privilegios de root, por ejemplo,
become: yes
Variables del Rol
Variable | Descripción | Valor por defecto |
---|---|---|
authorized_key_list |
Lista de usuarios y sus claves (ver detalles!) | [] |
authorized_key_list_host |
Lista de usuarios y sus claves (ver detalles!) | [] |
authorized_key_list_group |
Lista de usuarios y sus claves (ver detalles!) | [] |
authorized_key_exclusive |
Valor por defecto para exclusive |
no |
authorized_key_key_options |
Valor por defecto para key_options |
/ |
authorized_key_manage_dir |
Valor por defecto para manage_dir |
yes |
authorized_key_state |
Valor por defecto para state |
present |
Detalles de authorized_key_list
authorized_key_list
, authorized_key_list_host
y authorized_key_list_group
se combinan al
gestionar las claves autorizadas. Puedes usar las listas de host y grupo para especificar
claves por host o grupo de hosts.
La lista de claves autorizadas te permite definir qué usuarios y sus claves deben ser gestionados. Cada elemento de la lista consiste en un nombre de usuario y una lista de claves.
Variable | Descripción | Valor por defecto |
---|---|---|
name |
Nombre de usuario | / |
authorized_keys |
Lista de claves | / |
Cada clave en la lista de authorized_keys
puede tener los siguientes atributos:
Variable | Descripción | Requerido | Valor por defecto |
---|---|---|---|
exclusive |
¿Debería ser esta clave exclusiva? | no | authorized_key_exclusive |
key |
Clave SSH | sí | / |
key_options |
Opciones de clave SSH para añadir a la clave | no | / |
manage_dir |
¿Gestionar el directorio de authorized_keys? | no | authorized_key_manage_dir |
path |
Ruta para la clave SSH | no | 'home_dir/.ssh/authorized_keys' |
state |
Estado de la clave (present/absent) | no | authorized_key_state |
Ejemplo 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') }}"
Dependencias
Ninguna.
Ejemplo de Playbook
---
- hosts: servers
roles:
- { role: GROG.authorized-key, become: yes }
Dentro de 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') }}"
Contribuciones
¡Toda ayuda, cambios o ideas son bienvenidas aquí!
Autor
Por G. Roggemans
Licencia
MIT
ansible-galaxy install GROG.authorized-key