Spec-Zone.ru › Ansible 2.10

ansible.posix.authorized_key – Добавление или удаление авторизованного SSH ключа

Примечание

Этот плагин входит в коллекцию ansible.posix (версия 1.1.1).

Для его установки используйте: ansible-galaxy collection install ansible.posix.

Для использования в книге задач укажите: ansible.posix.authorized_key.

Новое в версии 1.0.0: модуля ansible.posix

  • Краткое описание
  • Параметры
  • Примеры
  • Возвращаемые значения

Краткое описание

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
comment
строка
Изменить комментарий к открытому ключу.
Перезапись комментария полезна в случаях, когда он извлекается из GitHub или GitLab.
Если комментарий не указан, существующий сохраняется.
exclusive
логическое
    Варианты:
  • нет ←
  • да
Определяет, нужно ли удалить все другие ключи, не указанные явно, из файла authorized_keys.
Несколько ключей можно указать в одном значении типа key строки, разделяя их символами новой строки.
Этот параметр не учитывает циклы, поэтому при использовании with_, он будет действовать эксклюзивно для каждой итерации цикла.
Если в файле необходимо хранить несколько ключей, необходимо передать их все в key в одной партии, как указано выше.
follow
логическое
    Варианты:
  • нет ←
  • да
Следовать символической ссылке на путь, вместо его замены.
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
строка
    Варианты:
  • absent
  • present ←
Определяет, должен ли заданный ключ (с заданными параметрами key_options) присутствовать в файле.
user
строка / обязательно
Имя пользователя на удалённом хосте, файл authorized_keys которого будет изменён.
validate_certs
логическое
    Варианты:
  • нет
  • да ←
Применяется только при использовании https URL в качестве источника ключей.
Если установлено no, сертификаты SSL не будут проверены.
Это следует устанавливать только на сайтах, контролируемых вами, которые используют самозаверяющие сертификаты, так как это позволяет избежать проверки источника сайта.
До версии 2.1 код работал так, как будто это было установлено как yes.

Примеры

- name: Set authorized key taken from file
  ansible.posix.authorized_key:
    user: charlie
    state: present
    key: "{{ lookup('file', '/home/charlie/.ssh/id_rsa.pub') }}"

- name: Set authorized keys taken from url
  ansible.posix.authorized_key:
    user: charlie
    state: present
    key: https://github.com/charlie.keys

- name: Set authorized key in alternate location
  ansible.posix.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
  ansible.posix.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
  ansible.posix.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
  ansible.posix.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
  ansible.posix.authorized_key:
    user: root
    key: "{{ lookup('file', 'public_keys/doe-jane') }}"
    state: present
    exclusive: True

- name: Set authorized key for user ubuntu copying it from current user
  ansible.posix.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) присутствовать в файле.

Пример:
present
unique
логическое
успех
Является ли ключ уникальным.

user
строка
успех
Имя пользователя на удалённом хосте, файл authorized_keys которого будет изменён.

Пример:
user
validate_certs
логическое
успех
Применяется только при использовании https URL в качестве источника ключей. Если установлено no, сертификаты SSL не будут проверены.

Пример:
True


Авторы

  • Команда разработчиков 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.10/collections/ansible/posix/authorized_key_module.html

Spec-Zone.ru

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