Spec-Zone.ru › Ansible 2.11

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
булево
    Варианты:
  • no ←
  • yes
Определяет, нужно ли удалить все другие ключи, не указанные явно, из файла authorized_keys.
Несколько ключей можно указать в одной строке значения key, разделив их символами новой строки.
Этот параметр не учитывает циклы, поэтому если вы используете with_, он будет эксклюзивным для каждой итерации цикла.
Если вам нужны несколько ключей в файле, вы должны передать их все в key в одной партии, как указано выше.
follow
булево
    Варианты:
  • no ←
  • yes
Следовать символической ссылке пути вместо её замены.
key
строка / обязательно
Открытый ключ SSH в виде строки или (с Ansible 1.9) URL (https://github.com/username.keys).
key_options
строка
Строка параметров ключа ssh, которая будет добавлена перед ключом в файле authorized_keys.
manage_dir
булево
    Варианты:
  • no
  • yes ←
Указывает, должен ли модуль управлять директорией файла авторизованного ключа.
Если установлено yes, модуль создаст директорию, а также установит владельца и права доступа для существующей директории.
Убедитесь, что задано manage_dir=no, если вы используете альтернативную директорию для authorized_keys, как задано с помощью path, так как это может привести к блокировке доступа к SSH.
См. пример ниже.
path
путь
Альтернативный путь к файлу authorized_keys.
Если не задано, по умолчанию используется ~/.ssh/authorized_keys.
state
строка
    Варианты:
  • absent
  • present ←
Указывает, должен ли данный ключ (с заданными параметрами key_options) быть в файле или нет.
user
строка / обязательно
Имя пользователя на удалённом хосте, файл authorized_keys которого будет изменён.
validate_certs
булево
    Варианты:
  • no
  • yes ←
Это применимо только при использовании 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
булево
success
Указывает, был ли ключ принудительно установлен в эксклюзивный режим или нет.

key
строка
success
Ключ, с которым работал модуль.

Пример:
https://github.com/user.keys
key_option
строка
success
Параметры ключа, связанные с ключом.

keyfile
строка
success
Путь к файлу авторизованного ключа.

Пример:
/home/user/.ssh/authorized_keys
manage_dir
булево
success
Указывает, управлял ли данный модуль директорией файла авторизованного ключа.

Пример:
True
path
строка
success
Альтернативный путь к файлу authorized_keys

state
строка
success
Указывает, должен ли данный ключ (с заданными параметрами key_options) быть в файле или нет

Пример:
present
unique
булево
success
Указывает, уникален ли ключ

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

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

Пример:
True


Авторы

  • Команда разработчиков Ansible

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/ansible/posix/authorized_key_module.html

Spec-Zone.ru

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