AlphaHydrae.ssh-key
SSH-ключ Ansible
Ansible роль, которая генерирует SSH-ключ для пользователя.
Установка ssh_key_root_link в true также создаст символическую ссылку на ключ в директории .ssh пользователя root.
Переменные роли
Свойства SSH-ключа
ssh_key_user(илиuser) - обязательно - Пользователь, для которого нужно сгенерировать SSH-ключ (по умолчанию берётся значение переменнойuser).ssh_key_bits[целое число]- Количество бит в сгенерированном ключе (по умолчанию 8192).ssh_key_comment- Комментарий в конце блока SSH-ключа (по умолчанию{{ ssh_key_user }}@{{ ansible_hostname }}, например,jdoe@mycomputer).
Местоположение SSH-ключа для пользователя, не являющегося root
ssh_key_dir- Директория .ssh, где будет сгенерирован ключ (по умолчанию{{ host_user_homes }}/{{ ssh_key_user }}/.ssh, гдеhost_user_homesпредоставляется ролью AlphaHydrae.multipass).ssh_key_file- Местоположение файла SSH-ключа (по умолчанию{{ ssh_key_dir }}/id_rsa).
Местоположение SSH-ключа для пользователя root
ssh_key_root_dir- Директория .ssh пользователя root (по умолчанию{{ host_root_home }}/.ssh; переменнаяhost_root_homeпредоставляется ролью AlphaHydrae.multipass).ssh_key_root_file- Местоположение файла SSH-ключа для пользователя root (по умолчанию{{ ssh_key_root_dir }}/id_rsa).
Переменные для символической ссылки для root
ssh_key_root_link[логическое значение]- Нужно ли создавать символическую ссылку на сгенерированный ключ в директории .ssh пользователя root (по умолчаниюfalse; не оказывает влияния, еслиssh_key_user- это пользователь root).
Зависимости
Роль AlphaHydrae.multipass используется для определения основной директории, где расположены домашние директории пользователей. Роль устанавливает следующие факты к разумным значениям по умолчанию в зависимости от платформы целевого хоста:
host_root_user- Имя пользователя root (например,root).host_root_group- Группа пользователя root (например,root).host_root_home- Домашняя директория пользователя root (например,/root).host_user_homes- Основная директория, где расположены домашние директории пользователей (например,/homeна Linux или/Usersна OS X).
Пример Playbook
- hosts: servers
roles:
- role: AlphaHydrae.ssh-key
ssh_key_user: jdoe
Пользовательские свойства SSH-ключа
- hosts: servers
roles:
- role: AlphaHydrae.ssh-key
ssh_key_user: jdoe
ssh_key_bits: 2048
ssh_key_comment: my-key
С некоторым определённым пользователем по умолчанию (например, на уровне playbook)
- hosts: servers
vars:
user: jdoe
roles:
- role: AlphaHydrae.ssh-key
Создание символической ссылки на ключ в директории .ssh пользователя root
- hosts: servers
roles:
- role: AlphaHydrae.ssh-key
ssh_key_user: jdoe
ssh_key_root_link: true
ansible-galaxy install AlphaHydrae.ssh-key