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/ansible-ssh-key