authorized-key

Авторизованный ключ

Ansible Galaxy Статус сборки Последний тег Чат Gitter

Роль для управления авторизованными ключами.

Следующие роли были разработаны для удобной работы с этой ролью:

  • user, для управления пользователями.
  • sudo, для управления правами sudo.

Роль management-user объединяет все эти роли в одну простую в использовании роль.

Требования

  • Хосты должны быть подготовлены для использования ansible (иметь python и т.д.)
  • Привилегии root, например become: yes

Переменные роли

Переменная Описание Значение по умолчанию
authorized_key_list Список пользователей и их ключей (см. детали!) []
authorized_key_list_host Список пользователей и их ключей (см. детали!) []
authorized_key_list_group Список пользователей и их ключей (см. детали!) []
authorized_key_exclusive Значение по умолчанию для exclusive no
authorized_key_key_options Значение по умолчанию для key_options /
authorized_key_manage_dir Значение по умолчанию для manage_dir yes
authorized_key_state Значение по умолчанию для state present

Детали authorized_key_list

authorized_key_list, authorized_key_list_host и authorized_key_list_group объединяются при управлении авторизованными ключами. Вы можете использовать списки хостов и групп, чтобы определить ключи для каждого хоста или группы хостов.

Список авторизованных ключей позволяет вам определить, какие пользователи и их ключи должны быть управляемыми. Каждый элемент списка состоит из имени пользователя и списка ключей.

Переменная Описание Обязательно Значение по умолчанию
name Имя пользователя /
authorized_keys Список ключей /

Каждый ключ в списке authorized_keys может иметь следующие атрибуты:

Переменная Описание Обязательно Значение по умолчанию
exclusive Должен ли этот ключ быть эксклюзивным? нет authorized_key_exclusive
key SSH ключ да /
key_options Опции SSH ключа, которые будут добавлены перед ключом нет /
manage_dir Управлять директорией authorized_keys? нет authorized_key_manage_dir
path Путь к SSH ключу нет 'home_dir/.ssh/authorized_keys'
state Состояние ключа (present/absent) нет authorized_key_state
Пример 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') }}"

Зависимости

Нет.

Пример Playbook

---
- hosts: servers
  roles:
  - { role: GROG.authorized-key, become: yes }

Внутри 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') }}"

Участие

Любая помощь, изменения или идеи приветствуются!

Автор

Г. Роггеманс

Лицензия

MIT

О проекте

A role for managing authorized keys.

Установить
ansible-galaxy install GROG/ansible-role-authorized-key
Лицензия
mit
Загрузки
240090
Владелец
Open Source Science and Technology