ansible.posix.authorized_key – Добавление или удаление авторизованного SSH ключа
Примечание
Этот плагин входит в коллекцию ansible.posix (версия 1.1.1).
Для его установки используйте: ansible-galaxy collection install ansible.posix.
Для использования в книге задач укажите: ansible.posix.authorized_key.
Новое в версии 1.0.0: модуля ansible.posix
Краткое описание
- Добавляет или удаляет авторизованные SSH ключи для определённых учётных записей пользователей.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| comment строка | Изменить комментарий к открытому ключу. Перезапись комментария полезна в случаях, когда он извлекается из GitHub или GitLab. Если комментарий не указан, существующий сохраняется. | |
| exclusive логическое |
| Определяет, нужно ли удалить все другие ключи, не указанные явно, из файла authorized_keys. Несколько ключей можно указать в одном значении типа key строки, разделяя их символами новой строки.Этот параметр не учитывает циклы, поэтому при использовании with_, он будет действовать эксклюзивно для каждой итерации цикла.Если в файле необходимо хранить несколько ключей, необходимо передать их все в key в одной партии, как указано выше. |
| follow логическое |
| Следовать символической ссылке на путь, вместо его замены. |
| key строка / обязательно | Открытый SSH ключ(и) в виде строки или (с Ansible 1.9) URL (https://github.com/username.keys). | |
| key_options строка | Строка опций SSH ключа, которая будет добавлена перед ключом в файле authorized_keys. | |
| manage_dir логическое |
| Определяет, должен ли этот модуль управлять директорией файла authorized key. Если установлено yes, модуль создаст директорию, а также установит владельца и права доступа к существующей директории.Убедитесь, что установлено manage_dir=no, если используется альтернативная директория для authorized_keys, установленная с помощью path, так как это может привести к блокировке SSH доступа.См. пример ниже. |
| path путь | Альтернативный путь к файлу authorized_keys. Если не задано, значение по умолчанию ~/.ssh/authorized_keys. | |
| state строка |
| Определяет, должен ли заданный ключ (с заданными параметрами key_options) присутствовать в файле. |
| user строка / обязательно | Имя пользователя на удалённом хосте, файл authorized_keys которого будет изменён. | |
| validate_certs логическое |
| Применяется только при использовании https URL в качестве источника ключей. Если установлено no, сертификаты SSL не будут проверены.Это следует устанавливать только на сайтах, контролируемых вами, которые используют самозаверяющие сертификаты, так как это позволяет избежать проверки источника сайта. До версии 2.1 код работал так, как будто это было установлено как yes. |
Примеры
- name: Set authorized key taken from file
ansible.posix.authorized_key:
user: charlie
state: present
key: "{{ lookup('file', '/home/charlie/.ssh/id_rsa.pub') }}"
- name: Set authorized keys taken from url
ansible.posix.authorized_key:
user: charlie
state: present
key: https://github.com/charlie.keys
- name: Set authorized key in alternate location
ansible.posix.authorized_key:
user: charlie
state: present
key: "{{ lookup('file', '/home/charlie/.ssh/id_rsa.pub') }}"
path: /etc/ssh/authorized_keys/charlie
manage_dir: False
- name: Set up multiple authorized keys
ansible.posix.authorized_key:
user: deploy
state: present
key: '{{ item }}'
with_file:
- public_keys/doe-jane
- public_keys/doe-john
- name: Set authorized key defining key options
ansible.posix.authorized_key:
user: charlie
state: present
key: "{{ lookup('file', '/home/charlie/.ssh/id_rsa.pub') }}"
key_options: 'no-port-forwarding,from="10.0.1.1"'
- name: Set authorized key without validating the TLS/SSL certificates
ansible.posix.authorized_key:
user: charlie
state: present
key: https://github.com/user.keys
validate_certs: False
- name: Set authorized key, removing all the authorized keys already set
ansible.posix.authorized_key:
user: root
key: "{{ lookup('file', 'public_keys/doe-jane') }}"
state: present
exclusive: True
- name: Set authorized key for user ubuntu copying it from current user
ansible.posix.authorized_key:
user: ubuntu
state: present
key: "{{ lookup('file', lookup('env','HOME') + '/.ssh/id_rsa.pub') }}"
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| exclusive логическое | успех | Если ключ был принудительно установлен как эксклюзивный или нет. |
| key строка | успех | Ключ, с которым работал модуль. Пример: https://github.com/user.keys |
| key_option строка | успех | Параметры ключа. |
| keyfile строка | успех | Путь к файлу авторизованных ключей. Пример: /home/user/.ssh/authorized_keys |
| manage_dir логическое | успех | Управлял ли модуль директорией файла авторизованных ключей. Пример: True |
| path строка | успех | Альтернативный путь к файлу authorized_keys. |
| state строка | успех | Должен ли заданный ключ (с заданными key_options) присутствовать в файле. Пример: present |
| unique логическое | успех | Является ли ключ уникальным. |
| user строка | успех | Имя пользователя на удалённом хосте, файл authorized_keys которого будет изменён. Пример: user |
| validate_certs логическое | успех | Применяется только при использовании https URL в качестве источника ключей. Если установлено no, сертификаты SSL не будут проверены.Пример: True |
Авторы
- Команда разработчиков Ansible
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/ansible/posix/authorized_key_module.html