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 булево |
| Указывает, должен ли модуль управлять директорией файла авторизованного ключа. Если установлено 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 булево | success | Указывает, был ли ключ принудительно установлен в эксклюзивный режим или нет. |
| key строка | success | Ключ, с которым работал модуль. Пример: https://github.com/user.keys |
| key_option строка | success | Параметры ключа, связанные с ключом. |
| keyfile строка | success | Путь к файлу авторизованного ключа. Пример: /home/user/.ssh/authorized_keys |
| manage_dir булево | success | Указывает, управлял ли данный модуль директорией файла авторизованного ключа. Пример: True |
| path строка | success | Альтернативный путь к файлу authorized_keys |
| state строка | success | Указывает, должен ли данный ключ (с заданными параметрами key_options) быть в файле или нет Пример: present |
| unique булево | success | Указывает, уникален ли ключ |
| user строка | success | Имя пользователя на удалённом хосте, файл authorized_keys которого будет изменён Пример: user |
| validate_certs булево | success | Это применимо только при использовании https URL в качестве источника ключей. Если установлено no, сертификаты SSL не будут проверены.Пример: True |
Авторы
- Команда разработчиков Ansible
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/ansible/posix/authorized_key_module.html