auth

Ansible Galaxy MIT License

Роль ansible для аутентификации

Ansible роль для управления и развертывания ssh-ключей административных и неадминистративных пользователей.

Предназначение

Эта роль создана для управления linux-хостами с определенными ролями. Она, в основном, фокусируется на развертывании правильных ssh публичных ключей для нужных пользователей в зависимости от конфигурации. Другие роли создают пользователей и группы, конфигурируют sshd, развертывают dotfiles или устанавливают различные полезные пакеты.

Список рекомендуемых ролей для управления вашим linux-хостом:

  • do1jlr.base установка нескольких полезных пакетов
  • do1jlr.users создание пользователей и управление sudoers
  • do1jlr.auth (эта роль)
  • do1jlr.sshd конфигурация sshd
  • do1jlr.dotfiles развертывание различных dotfiles

Полезно знать:

Указанные роли используют одни и те же переменные для создания учетных записей, администраторов и т.д. Но роли должны выполняться в правильном порядке, чтобы работать корректно. Например, вы не можете развернуть ssh публичный ключ для пользователя, который еще не создан.

Переменные

  • admins (по умолчанию []):
    Список ssh ключей, разрешенных для входа как root.

  • accounts (по умолчанию []):
    Список имен пользователей, которые будут созданы на этом хосте, если они не существуют.

  • users (по умолчанию {}):
    Словарь имен пользователей, соответствующий спискам ssh ключей, разрешенных для входа в соответствующий пользовательский аккаунт.

  • ssh_public_key_store (по умолчанию ssh_public_keys):
    Путь к директории, где файлы публичных ключей могут быть найдены ansible.

Для дополнительной информации о переменных посмотрите в defaults/main.yml!

Чтобы добавить дополнительные SSH ключи из GitHub к пользователю, используйте настройки github_users: {}

Файлы

Эта роль предполагает, что публичные части всех необходимых ssh ключей находятся в директории ssh_public_key_store. Названия файлов должны следовать следующей конвенции: username_idalg.pub, где username является частью имени.

Примеры

Алиса и Боб могут войти в систему и получить право на root с помощью команды sudo на этом хосте:

admins:
  - alice
  - bob

Алиса, Боб и Ева могут войти в свои учетные записи через ssh:

users:
  alice:
    - alice
  eve:
    - eve@device1
    - eve@device2

Ева может сделать это с двумя разными ssh ключами. Алиса — только со своим единственным SSH ключом.

В директории files/ssh_public_keys/ находятся следующие файлы:

alice_ed25519.pub
bob_ed25519.pub
eve@device1_ed25519.pub
eve@device2_ed25519.pub

Алиса, Боб и Ева хотят быть пользователями на этом хосте:

accounts:
  - alice
  - bob
  - eve

Добавляем ssh ключи от пользователя GitHub DO1JLR для локального пользователя L3D

github_users:
  l3d:
    - do1jlr

Создание ed25519 SSH ключей

ssh-keygen -t ed25519
О проекте

Ansible Rolle to manage and deploy ssh keys of admin and non-admin users

Установить
ansible-galaxy install roles-ansible/ansible_role_auth
Лицензия
mit
Загрузки
276
Владелец
Ansible roles provide a framework for fully independent, or interdependent collections of variables,tasks,files,templates &modules. Here we maintain some. enjoy