Spec-Zone.ru › Ansible 2.4

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

  • Описание
  • Параметры
  • Примеры
  • Возвращаемые значения
    • Статус
    • Информация о поддержке

Описание

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

Параметры

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

Статус

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

Информация о поддержке

Для получения дополнительной информации о поддержке этого модуля компанией Red Hat, обратитесь к этому knowledge base article<https://access.redhat.com/articles/rhel-top-support-policies>

Для помощи в разработке модулей, если у вас есть желание, прочтите Информацию о сообществе и участии в разработке, Тестирование 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.4/authorized_key_module.html

Spec-Zone.ru

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