Spec-Zone.ru › Ansible 2.8

authorized_key – Добавляет или удаляет авторизованный ключ SSH

  • Описание
  • Параметры
  • Примеры
  • Возвращаемые значения
  • Статус

Описание

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

Параметры

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

key
строка
успех
Ключ, по которому работал модуль.

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

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

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

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

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

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

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

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

Пример:
True


Статус

  • Этот модуль не гарантирует обратную совместимость интерфейса. [превью]
  • Этот модуль поддерживается командой Ansible Core. [core]

Поддержка Red Hat

Дополнительная информация о поддержке этого модуля Red Hat доступна в этой статье базы знаний Red Hat.

Авторы

  • Команда Ansible Core

Подсказка

Если вы заметите какие-либо проблемы в этом руководстве, вы можете изменить этот документ, чтобы улучшить его.

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

Spec-Zone.ru

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