authorized_key - Добавление или удаление SSH авторизованного ключа
Описание
- Добавляет или удаляет SSH авторизованные ключи для определённых учётных записей пользователей
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| comment (добавлен в 2.4) | Значение по умолчанию: None | Изменить комментарий к открытому ключу. Переписывание комментария полезно в таких случаях, как получение его из GitHub или GitLab. Если комментарий не указан, существующий комментарий сохранится. |
| exclusive (добавлен в 1.9) |
| Удалить все другие ключи, не указанные явно, из файла authorized_keys. Несколько ключей могут быть указаны в одном значении типа key , разделяя их символом новой строки.Этот параметр не учитывает циклы, поэтому если вы используете with_, он будет эксклюзивным для каждой итерации цикла. Если вы хотите иметь несколько ключей в файле, вам нужно передать все ключи в key в одной группе, как указано выше. |
| key обязательно | SSH открытый ключ(и), как строка или (с версии 1.9) URL (https://github.com/username.keys) | |
| key_options (добавлен в 1.4) | Значение по умолчанию: None | Строка параметров SSH-ключа, которые будут добавлены перед ключом в файл authorized_keys |
| manage_dir |
| Управлять ли этой модулем каталогом файла авторизованного ключа. Если установлено, модуль создаст каталог, а также установит владельца и права доступа к существующему каталогу. Убедитесь, что вы установили manage_dir=no, если вы используете альтернативный каталог для authorized_keys, как указано с помощью path, так как вы можете заблокировать себя от доступа к SSH.См. пример ниже. |
| path | Значение по умолчанию: (homedir)+/.ssh/authorized_keys | Альтернативный путь к файлу authorized_keys |
| state |
| Указать, должен ли данный ключ (с заданными key_options) присутствовать в файле или нет |
| user обязательно | Имя пользователя на удалённом узле, файл authorized_keys которого будет изменён | |
| validate_certs (добавлен в 2.1) |
| Это применимо только если используется https URL в качестве источника ключей. Если установлено значение no, сертификаты SSL не будут проверены.Это следует устанавливать только в случае использования на сайтах под собственным контролем с самоподписанными сертификатами, так как это позволяет избежать проверки источника сайта. До версии 2.1 код работал так, как если бы это было установлено как yes. |
Примеры
- name: Set authorized key took from file
authorized_key:
user: charlie
state: present
key: "{{ lookup('file', '/home/charlie/.ssh/id_rsa.pub') }}"
- name: Set authorized key took 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 key 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 | success | Если ключ был принудительно установлен как эксклюзивный или нет. |
| key строка | success | Ключ, по которому работал модуль. Пример: https://github.com/user.keys |
| key_option строка | success | Параметры ключа, относящиеся к ключу. |
| keyfile строка | success | Путь к файлу авторизованного ключа. Пример: /home/user/.ssh/authorized_keys |
| manage_dir boolean | success | Управлял ли этот модуль каталогом файла авторизованного ключа. Пример: True |
| path строка | success | Альтернативный путь к файлу authorized_keys |
| state строка | success | Указать, должен ли данный ключ (с заданными key_options) присутствовать в файле или нет Пример: present |
| unique boolean | success | Является ли ключ уникальным |
| user строка | success | Имя пользователя на удалённом узле, файл authorized_keys которого будет изменён Пример: user |
| validate_certs boolean | success | Это применимо только если используется https URL в качестве источника ключей. Если установлено значение no, сертификаты SSL не будут проверены.Пример: True |
Статус
Этот модуль помечен как превью, что означает, что он не гарантирует обратную совместимость интерфейса.
Поддержка
Дополнительную информацию о поддержке этого модуля Red Hat см. в этой статье базы знаний
Автор
- Команда разработчиков 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.5/modules/authorized_key_module.html