Spec-Zone.ru › Ansible 2.6

authorized_key - Добавление или удаление SSH открытого ключа

  • Описание
  • Параметры
  • Примеры
  • Возвращаемые значения
  • Статус
  • Техническое обслуживание
    • Поддержка
    • Автор

Описание

  • Добавляет или удаляет SSH открытые ключи для конкретных учетных записей пользователей

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
comment
(добавлен в 2.4)
Изменить комментарий к открытому ключу. Перезапись комментария полезна в случаях, таких как получение его из GitHub или GitLab.
Если комментарий не указан, существующий комментарий сохранится.
exclusive
bool

(добавлен в 1.9)
    Варианты:
  • нет ←
  • да
Указать, нужно ли удалить все остальные не указанные ключи из файла authorized_keys. Несколько ключей могут быть указаны в одном значении типа key, разделяя их новой строкой.
Этот параметр не учитывает циклы, поэтому при использовании with_, он будет эксклюзивным для каждой итерации цикла. Если вам нужно несколько ключей в файле, вам необходимо передать их все в key в одной группе, как указано выше.
key
обязательно
SSH открытый ключ(и), как строка или (с версии 1.9) URL (https://github.com/username.keys)
key_options
(добавлен в 1.4)
Строка с параметрами SSH-ключа, которые будут добавлены перед ключом в файл authorized_keys
manage_dir
bool
    Варианты:
  • нет
  • да ←
Указывает, должен ли этот модуль управлять каталогом файла authorized_keys. Если установлено, модуль создаст каталог и установит владельца и разрешения для существующего каталога. Убедитесь, что вы установили manage_dir=no, если вы используете другой каталог для authorized_keys, как задано path, так как вы можете заблокировать себе SSH-доступ. См. пример ниже.
path Значение по умолчанию:
"(homedir)+/.ssh/authorized_keys"
Альтернативный путь к файлу authorized_keys
state
    Варианты:
  • present ←
  • absent
Указывает, должен или не должен данный ключ (с заданными key_options) присутствовать в файле
user
обязательно
Имя пользователя на удалённом хосте, файл authorized_keys которого будет изменён
validate_certs
bool

(добавлен в 2.1)
    Варианты:
  • нет
  • да ←
Это применимо только при использовании URL https в качестве источника ключей. Если установлено 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
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
успех
Это применимо только при использовании URL https в качестве источника ключей. Если установлено no, сертификаты SSL не будут проверены.

Пример:
True


Статус

Этот модуль помечен как превью, что означает, что его интерфейс не гарантируется обратно совместимым.

Техническое обслуживание

Этот модуль помечен как ядерный, что означает, что его обслуживает Команда ядра Ansible. Подробнее см. Техническое обслуживание и поддержка модулей.

Список других модулей, которые также поддерживаются Командой ядра Ansible, см. в этом разделе.

Поддержка

Дополнительную информацию о поддержке этого модуля компанией 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.6/modules/authorized_key_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API