authorized-key
Авторизованный ключ
Роль для управления авторизованными ключами.
Следующие роли были разработаны для удобной работы с этой ролью:
Роль 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
ansible-galaxy install GROG/ansible-role-authorized-key