GROG.authorized-key

Clave Autorizada

Ansible Galaxy Estado de Construcción Última etiqueta Charla en Gitter

Un rol para gestionar claves autorizadas.

Los siguientes roles están diseñados para trabajar en conjunto con este rol:

  • usuario, para gestionar usuarios.
  • sudo, para gestionar derechos sudo.

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 /
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

Acerca del proyecto

A role for managing authorized keys.

Instalar
ansible-galaxy install GROG.authorized-key
Licencia
mit
Descargas
258.9k
Propietario
Open Source Science and Technology