authorized_key – Добавляет или удаляет авторизованный ключ SSH
Описание
- Добавляет или удаляет авторизованные ключи SSH для определённых учётных записей пользователей.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| comment строка добавлен в 2.4 | Изменить комментарий к открытому ключу. Перезапись комментария полезна в случаях, таких как получение его из GitHub или GitLab. Если комментарий не указан, существующий комментарий сохранится. | |
| exclusive логическое значение |
| Удалить все другие не указанные ключи из файла authorized_keys. Несколько ключей могут быть указаны в единственном значении типа key, разделяя их новыми строками.Этот параметр не учитывает циклы, поэтому если вы используете with_, он будет эксклюзивным для каждой итерации цикла.Если вы хотите иметь несколько ключей в файле, вам нужно передать их все в key в одной партии, как указано выше. |
| follow логическое значение добавлен в 2.7 |
| Следовать символической ссылке пути, а не заменять её. |
| 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 логическое значение добавлен в 2.1 |
| Это применимо только при использовании https url в качестве источника ключей. Если установлено no, сертификаты SSL не будут проверены.Это следует установить только на сайтах, контролируемых лично, использующих самозаверенные сертификаты, так как это избегает проверки источника сайта. До 2.1 код работал, как если бы это было установлено на yes. |
Примеры
- name: Set authorized key taken from file
authorized_key:
user: charlie
state: present
key: "{{ lookup('file', '/home/charlie/.ssh/id_rsa.pub') }}"
- name: Set authorized keys taken from url
authorized_key:
user: charlie
state: present
key: https://github.com/charlie.keys
- name: Set authorized key in alternate location
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
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
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
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
authorized_key:
user: root
key: '{{ item }}'
state: present
exclusive: True
with_file:
- public_keys/doe-jane
- name: Set authorized key for user ubuntu copying it from current user
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) быть или не быть в файле Пример: присутствует |
| unique логическое значение | успех | Является ли ключ уникальным |
| user строка | успех | Имя пользователя на удалённом хосте, файл authorized_keys которого будет изменён Пример: user |
| validate_certs логическое значение | успех | Это применимо только при использовании https url в качестве источника ключей. Если установлено no, сертификаты SSL не будут проверены.Пример: True |
Статус
- Этот модуль не гарантирует обратную совместимость интерфейса. [превью]
- Этот модуль поддерживается командой Ansible Core. [core]
Поддержка Red Hat
Дополнительная информация о поддержке этого модуля Red Hat доступна в этой статье базы знаний Red Hat.
Авторы
- Команда Ansible Core
Подсказка
Если вы заметите какие-либо проблемы в этом руководстве, вы можете изменить этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/modules/authorized_key_module.html