authorized_key – Добавляет или удаляет SSH авторизованный ключ
Краткое описание
- Добавляет или удаляет SSH авторизованные ключи для конкретных учетных записей пользователей
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| comment - добавлен в 2.4 | Изменить комментарий к открытому ключу. Переписывание комментария полезно в таких случаях, как извлечение его из GitHub или GitLab. Если комментарий не указан, существующий комментарий будет сохранен. | |
| exclusive boolean добавлен в 1.9 |
| Указывает, следует ли удалить все другие не указанные ключи из файла authorized_keys. Несколько ключей можно указать в одном значении типа key , разделяя их новой строкой.Этот параметр не учитывает циклы, поэтому если вы используете with_, он будет эксклюзивным для каждого итерационного цикла, если вы хотите несколько ключей в файле, вам нужно передать их все в key в одной партии, как указано выше. |
| follow boolean добавлен в 2.7 |
| Следовать символьному пути ссылки вместо его замены |
| key - / обязательно | SSH открытый ключ(и), как строка или (с версии 1.9) URL (https://github.com/username.keys) | |
| key_options - добавлен в 1.4 | Строка ssh параметров ключа, которые будут добавлены перед ключом в файле authorized_keys | |
| manage_dir boolean |
| Указывает, должен ли этот модуль управлять директорией файла authorized_keys. Если установлено, модуль создаст директорию, а также установит владельца и разрешения существующей директории. Убедитесь, что вы установили manage_dir=no, если вы используете альтернативную директорию для authorized_keys, как установлено с path, так как вы можете заблокировать себе доступ к SSH. Смотрите пример ниже. |
| path - | Значение по умолчанию: "(путь к домашнему каталогу)+/.ssh/authorized_keys" | Альтернативный путь к файлу authorized_keys |
| state - |
| Указывает, должен ли данный ключ (с заданными key_options) присутствовать или отсутствовать в файле |
| user - / обязательно | Имя пользователя на удаленном хосте, файл authorized_keys которого будет изменен | |
| validate_certs boolean добавлен в 2.1 |
| Это применимо только при использовании https URL в качестве источника ключей. Если установлено значение no, сертификаты SSL не будут проверяться.Это значение должно быть установлено в no только при использовании на контролируемых сайтах с самоподписанными сертификатами, так как это позволяет избежать проверки источника сайта.До версии 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 boolean | успех | Указано ли, что ключ должен быть эксклюзивным. |
| key строка | успех | Ключ, по которому выполнялся модуль. Пример: https://github.com/user.keys |
| key_option строка | успех | Параметры ключа, относящиеся к ключу. |
| keyfile строка | успех | Путь к файлу авторизованного ключа. Пример: /home/user/.ssh/authorized_keys |
| manage_dir boolean | успех | Указано ли, что этот модуль управлял директорией файла авторизованного ключа. Пример: True |
| path строка | успех | Альтернативный путь к файлу authorized_keys |
| state строка | успех | Указано ли, что данный ключ (с заданными key_options) должен или не должен присутствовать в файле Пример: present |
| unique boolean | успех | Указывает, является ли ключ уникальным |
| user строка | успех | Имя пользователя на удаленном хосте, файл authorized_keys которого будет изменен Пример: user |
| validate_certs boolean | успех | Это применимо только при использовании 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.7/modules/authorized_key_module.html