ssh-authorize
cans.ssh-authorize
Простая роль для настройки SSH авторизации для пользовательских аккаунтов в большом количестве.
Данная роль использует директорию (public_keys
по умолчанию), которая содержит набор файлов, каждый из которых содержит открытый ключ, и объединяет эти файлы, чтобы создать файл ~/.ssh/authorized_keys
на удаленном пользовательском аккаунте.
Фактически создаваемый файл зависит от значений нескольких переменных:
"{{sshauthz_homes_dir}}/{{sshauthz_user}}/{{sshauthz_ssh_config_dirname}}/{{sshauthz_authorized_keys_filename}}"
Это позволяет настроить систему довольно специфическим образом, если это необходимо. Но, разумеется, значения по умолчанию для этих переменных должны подойти для большинства настроек.
Примечание: Поскольку эта роль работает довольно грубо, для повышения эффективности и чтобы избежать блокировки доступа к машине, эта роль предлагает механизм для проверки существования вашего ключа в исходной директории.
Требования
У этой роли нет особых требований.
Переменные роли
Значения по умолчанию
sshauthz_homes_dir
: базовая директория для пользовательских аккаунтов на удаленном хосте (по умолчанию: "/home")sshauthz_user
: удаленный аккаунт, для которого устанавливаются авторизации (по умолчанию: "{{ansible_user_id}}")sshauthz_ssh_config_dirname
: (по умолчанию: ".ssh")sshauthz_authorized_keys_filename
: имя файла авторизации на удаленном хосте (по умолчанию: "authorized_keys")sshauthz_keys_directory
: директория, в которой находятся ключи для авторизации на удаленном аккаунте (по умолчанию "{{ playbook_dir + '/files/public_keys/default' }}")
Зависимости
У этой роли нет зависимостей.
Пример плейбука
- hosts: etl, proxy
roles:
- { role: ssh-access, sshauthz_user: remus }
- { role: ssh-access, sshauthz_user: romolus, sshauthz_keys_directory: '~/public_keys' }
Лицензия
GPLv2
Информация об авторе
Авторское право © 2017, Nicolas CANIART.
ansible-galaxy install cans/ssh-authorize