Spec-Zone.ru › Ansible 2.11

community.crypto.openssh_keypair – Генерация ключей OpenSSH (приватный и публичный)

Примечание

Этот плагин входит в коллекцию community.crypto (версия 1.4.0).

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

Для использования в плейбуке укажите: community.crypto.openssh_keypair.

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Обзор

  • Этот модуль позволяет (пере)генерировать приватные и публичные ключи OpenSSH. Он использует ssh-keygen для генерации ключей. Можно сгенерировать rsa, dsa, rsa1, ed25519 или ecdsa приватные ключи.

Требования

Ниже перечислены требования, необходимые на хосте, выполняющем этот модуль.

  • ssh-keygen

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
attributes
строка
добавлен в версии 2.3 ansible.builtin
Атрибуты, которые должны иметь полученный файл или директория.
Чтобы получить поддерживаемые флаги, см. руководство man для chattr на целевой системе.
Эта строка должна содержать атрибуты в том же порядке, что и при выводе lsattr.
Оператор = принимается по умолчанию, в противном случае необходимо включить операторы + или - в строку.

псевдонимы: attr
comment
строка
Предоставляет новый комментарий к открытому ключу.
force
булево
    Варианты:
  • нет ←
  • да
Следует ли перегенерировать ключ, даже если он уже существует
group
строка
Имя группы, которая должна владеть файлом/директорией, как передается в chown.
mode
сырой
Разрешения, которые должен иметь полученный файл или директория.
Для тех, кто привык к /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны либо добавить ведущую ноль, чтобы парсер YAML Ansible понимал, что это восьмеричное число (например, 0644 или 01777) или заключить его в кавычки (например, '644' или '1777'), чтобы Ansible получил строку и мог выполнить свое преобразование из строки в число.
Передача Ansible числа без соблюдения одного из этих правил приведет к десятичному числу, что приведет к непредсказуемым результатам.
Начиная с Ansible 1.8, режим может быть указан как символьный режим (например, u+rwx или u=rw,g=r,o=r).
Если mode не указано и целевой файл не существует, по умолчанию используется umask в системе при установлении режима для вновь созданного файла.
Если mode не указано и целевой файл существует, режим существующего файла будет использоваться.
Указание mode – лучший способ гарантировать, что файлы создаются с правильными правами. См. CVE-2020-1736 для получения дополнительной информации.
owner
строка
Имя пользователя, который должен владеть файлом/директорией, как передается в chown.
path
путь / обязательно
Имя файлов, содержащих публичный и приватный ключ. Файл, содержащий публичный ключ, будет иметь расширение .pub.
regenerate
строка
добавлен в версии 1.0.0 community.crypto
    Варианты:
  • никогда
  • ошибка
  • частичная идемпотентность ←
  • полная идемпотентность
  • всегда
Позволяет настроить ситуации, в которых модуль разрешено перегенерировать приватные ключи. Модуль всегда сгенерирует новый ключ, если целевой файл не существует.
По умолчанию ключ будет перегенерирован, если он не соответствует параметрам модуля, за исключением случаев, когда ключ не может быть прочитан или пароль не совпадает. Обратите внимание, что это изменилось для Ansible 2.10. Для Ansible 2.9 поведение было таким, как если бы было указано full_idempotence.
Если установлено never, модуль завершится с ошибкой, если ключ не может быть прочитан или пароль не совпадает, и никогда не будет перегенерировать существующий ключ.
Если установлено fail, модуль завершится с ошибкой, если ключ не соответствует параметрам модуля.
Если установлено partial_idempotence, ключ будет перегенерирован, если он не соответствует параметрам модуля. Ключ не перегенерируется, если он не может быть прочитан (поврежденный файл), ключ защищен неизвестным паролем или когда ключ не защищен паролем, но пароль указан.
Если установлено full_idempotence, ключ будет перегенерирован, если он не соответствует параметрам модуля. Это также относится к случаям, когда ключ не может быть прочитан (поврежденный файл), ключ защищен неизвестным паролем или когда ключ не защищен паролем, но пароль указан. Убедитесь, что у вас есть копия резервного при использовании этого параметра!
Если установлено always, модуль всегда будет перегенерировать ключ. Это эквивалентно установке force на yes.
Обратите внимание, что изменение комментария и разрешений может быть изменено без перегенерации. Поэтому даже для never, задача может привести к изменениям.
selevel
строка
Часть уровня SELinux контекста файла.
Это атрибут MLS/MCS, иногда известный как range.
Когда установлено _default, будет использоваться часть политики level если она доступна.
serole
строка
Часть роли контекста файла SELinux.
Когда установлено _default, будет использоваться часть политики role если она доступна.
setype
строка
Часть типа контекста файла SELinux.
Когда установлено _default, будет использоваться часть политики type если она доступна.
seuser
строка
Часть пользователя контекста файла SELinux.
По умолчанию используется политика system, где это применимо.
Когда установлено _default, будет использоваться часть политики user если она доступна.
size
целое число
Указывает количество битов в приватном ключе для создания. Для ключей RSA минимальный размер составляет 1024 бита, а по умолчанию 4096 бит. Как правило, 2048 бит считается достаточным. Ключи DSA должны быть ровно 1024 битами, как указано в FIPS 186-2. Для ключей ECDSA размер определяет длину ключа, выбирая один из трех размеров эллиптических кривых: 256, 384 или 521 бит. Попытка использовать другие длины битов для ключей ECDSA приведет к ошибке этого модуля. Ключи Ed25519 имеют фиксированную длину, и размер будет игнорироваться.
state
строка
    Варианты:
  • present ←
  • absent
Определяет, должны ли существовать приватные и публичные ключи или нет, выполняя действие, если состояние отличается от заявленного.
type
строка
    Варианты:
  • rsa ←
  • dsa
  • rsa1
  • ecdsa
  • ed25519
Алгоритм, используемый для генерации приватного ключа SSH. rsa1 предназначен для протокола версии 1. rsa1 устарел и может не поддерживаться каждой версией ssh-keygen.
unsafe_writes
булево
добавлен в версии 2.2 ansible.builtin
    Варианты:
  • нет ←
  • да
Влияет на то, когда использовать атомную операцию для предотвращения повреждения данных или несогласованных чтений из целевого файла.
По умолчанию этот модуль использует атомные операции для предотвращения повреждения данных или несогласованных чтений из целевых файлов, но иногда системы настроены или просто сломаны так, что это невозможно. Одним примером являются файлы, смонтированные в docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только небезопасным способом.
Этот параметр позволяет Ansible перейти к небезопасным методам обновления файлов, когда атомные операции завершаются ошибкой (однако, он не принуждает Ansible выполнять небезопасные записи).
ВАЖНО! Небезопасные записи подвержены гонкам и могут привести к повреждению данных.

Примечания

Примечание

  • В случае поврежденного или защищенного паролем SSH ключа модуль завершится ошибкой. Установите параметр force на yes, если вы хотите перегенерировать пару ключей.
  • Поддерживает check_mode.

Примеры

- name: Generate an OpenSSH keypair with the default values (4096 bits, rsa)
  community.crypto.openssh_keypair:
    path: /tmp/id_ssh_rsa

- name: Generate an OpenSSH rsa keypair with a different size (2048 bits)
  community.crypto.openssh_keypair:
    path: /tmp/id_ssh_rsa
    size: 2048

- name: Force regenerate an OpenSSH keypair if it already exists
  community.crypto.openssh_keypair:
    path: /tmp/id_ssh_rsa
    force: True

- name: Generate an OpenSSH keypair with a different algorithm (dsa)
  community.crypto.openssh_keypair:
    path: /tmp/id_ssh_dsa
    type: dsa

Возвращаемые значения

Общие возвращаемые значения документированы здесь, следующие поля уникальны для этого модуля:

Ключ Возвращаемое значение Описание
comment
string
изменённый или успех
Комментарий сгенерированного ключа.

Пример:
test@comment
filename
string
изменённый или успех
Путь к сгенерированному файлу закрытого SSH-ключа.

Пример:
/tmp/id_ssh_rsa
fingerprint
string
изменённый или успех
Отпечаток ключа.

Пример:
SHA256:r4YCZxihVjedH2OlfjVGI6Y5xAYtdCwk8VxKyzVyYfM
public_key
string
изменённый или успех
Открытый ключ сгенерированного закрытого SSH-ключа.

Пример:
ssh-rsa AAAAB3Nza(...omitted...)veL4E3Xcw== test_key
size
integer
изменённый или успех
Размер (в битах) закрытого SSH-ключа.

Пример:
4096
type
string
изменённый или успех
Алгоритм, используемый для генерации закрытого SSH-ключа.

Пример:
rsa


Авторы

  • David Kainz (@lolcube)

© 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/community/crypto/openssh_keypair_module.html

Spec-Zone.ru

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