Spec-Zone.ru › Ansible 2.8

openssl_publickey – Генерация открытого ключа OpenSSL из закрытого ключа

Новое в версии 2.3.

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

Описание

  • Этот модуль позволяет (снова) сгенерировать открытый ключ OpenSSL из соответствующего закрытого ключа.
  • Он использует библиотеку pyOpenSSL для взаимодействия с openssl.
  • Ключи генерируются в формате PEM.
  • Этот модуль работает только при использовании достаточно новой версии PyOpenSSL (> 16.0.0).

Требования

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

  • pyOpenSSL
  • cryptography (если format равен OpenSSH)

Параметры

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

псевдонимы: attr
backup
булево
добавлено в 2.8
    Варианты:
  • нет ←
  • да
Создать резервную копию файла, включая временную метку, чтобы можно было восстановить исходный открытый ключ в случае случайной перезаписи другим ключом.
force
булево
    Варианты:
  • нет ←
  • да
Необходимо ли перегенерировать ключ, даже если он уже существует.
format
строка
добавлено в 2.4
    Варианты:
  • OpenSSH
  • PEM ←
Формат открытого ключа.
group
строка
Имя группы, которая должна владеть файлом/каталогом (как для chown).
mode
строка
Права доступа, которые должен иметь результирующий файл или каталог.
Для тех, кто привык к /usr/bin/chmod, помните, что режимы на самом деле являются восьмеричными числами. Вы должны либо добавить ведущую нуль, чтобы Ansible's YAML-парсер понял, что это восьмеричное число (например, 0644 или 01777), либо заключить его в кавычки (например, '644' или '1777'), чтобы Ansible получил строку и мог выполнить собственное преобразование из строки в число.
Передача Ansible числа без соблюдения одного из этих правил приведет к десятичному числу, что даст неожиданные результаты.
Начиная с Ansible 1.8, режим можно указать в символьной форме (например, u+rwx или u=rw,g=r,o=r).
owner
строка
Имя пользователя, который должен владеть файлом/каталогом (как для chown).
path
путь / обязательно
Имя файла, в который будет записан сгенерированный открытый ключ TLS/SSL.
privatekey_passphrase
строка
добавлено в 2.4
Пароль к закрытому ключу.
privatekey_path
путь / обязательно
Путь к закрытому ключу TLS/SSL, из которого необходимо сгенерировать открытый ключ.
selevel
строка
По умолчанию:
"s0"
Часть контекста SELinux-файла, отвечающая за уровень.
Это атрибут MLS/MCS, иногда известный как range.
Если установлено в _default, будет использоваться часть политики level, если она доступна.
serole
строка
Часть контекста SELinux-файла, отвечающая за роль.
Если установлено в _default, будет использоваться часть политики role, если она доступна.
setype
строка
Часть контекста SELinux-файла, отвечающая за тип.
Если установлено в _default, будет использоваться часть политики type, если она доступна.
seuser
строка
Часть контекста SELinux-файла, отвечающая за пользователя.
По умолчанию используется политика system, где это применимо.
Если установлено в _default, будет использоваться часть политики user, если она доступна.
state
строка
    Варианты:
  • отсутствует
  • существует ←
Указывает, должен ли существовать открытый ключ или нет, предпринимая действия, если состояние отличается от указанного.
unsafe_writes
булево
добавлено в 2.2
    Варианты:
  • нет ←
  • да
Влияние на использование атомарных операций для предотвращения повреждения данных или несогласованного чтения из целевого файла.
По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения из целевых файлов, но иногда системы настроены или работают некорректно таким образом, что это невозможно. Примером являются файлы, смонтированные через docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только небезопасным способом.
Этот параметр позволяет Ansible перейти к небезопасным методам обновления файлов, когда атомарные операции невозможны (однако, он не заставляет Ansible выполнять небезопасные записи).
ВАЖНО! Небезопасные записи подвержены гонкам и могут привести к повреждению данных.

См. также

См. также

openssl_certificate – Генерация и/или проверка сертификатов OpenSSL
Официальная документация модуля openssl_certificate.
openssl_csr – Генерация запроса на подпись сертификата (CSR) OpenSSL
Официальная документация модуля openssl_csr.
openssl_dhparam – Генерация параметров Diffie-Hellman OpenSSL
Официальная документация модуля openssl_dhparam.
openssl_pkcs12 – Генерация архива PKCS#12 OpenSSL
Официальная документация модуля openssl_pkcs12.
openssl_privatekey – Генерация закрытых ключей OpenSSL
Официальная документация модуля openssl_privatekey.

Примеры

- name: Generate an OpenSSL public key in PEM format
  openssl_publickey:
    path: /etc/ssl/public/ansible.com.pem
    privatekey_path: /etc/ssl/private/ansible.com.pem

- name: Generate an OpenSSL public key in OpenSSH v2 format
  openssl_publickey:
    path: /etc/ssl/public/ansible.com.pem
    privatekey_path: /etc/ssl/private/ansible.com.pem
    format: OpenSSH

- name: Generate an OpenSSL public key with a passphrase protected private key
  openssl_publickey:
    path: /etc/ssl/public/ansible.com.pem
    privatekey_path: /etc/ssl/private/ansible.com.pem
    privatekey_passphrase: ansible

- name: Force regenerate an OpenSSL public key if it already exists
  openssl_publickey:
    path: /etc/ssl/public/ansible.com.pem
    privatekey_path: /etc/ssl/private/ansible.com.pem
    force: yes

- name: Remove an OpenSSL public key
  openssl_publickey:
    path: /etc/ssl/public/ansible.com.pem
    privatekey_path: /etc/ssl/private/ansible.com.pem
    state: absent

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

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

Ключ Возвращённое значение Описание
backup_file
строка
изменено, если backup yes
Имя созданного файла резервной копии.

Пример:
/path/to/publickey.pem.2019-03-09@11:22~
filename
строка
изменено или успешно
Путь к сгенерированному файлу открытого ключа TLS/SSL.

Пример:
/etc/ssl/public/ansible.com.pem
fingerprint
словарь
изменено или успешно
Отпечаток открытого ключа. Отпечаток будет сгенерирован для каждого алгоритма hashlib.
Требуется PyOpenSSL >= 16.0 для осмысленного вывода.

Пример:
{'md5': '84:75:71:72:8d:04:b5:6c:4d:37:6d:66:83:f5:4c:29', 'sha1': '51:cc:7c:68:5d:eb:41:43:88:7e:1a:ae:c7:f8:24:72:ee:71:f6:10', 'sha224': 'b1:19:a6:6c:14:ac:33:1d:ed:18:50:d3:06:5c:b2:32:91:f1:f1:52:8c:cb:d5:75:e9:f5:9b:46', 'sha256': '41:ab:c7:cb:d5:5f:30:60:46:99:ac:d4:00:70:cf:a1:76:4f:24:5d:10:24:57:5d:51:6e:09:97:df:2f:de:c7', 'sha384': '85:39:50:4e:de:d9:19:33:40:70:ae:10:ab:59:24:19:51:c3:a2:e4:0b:1c:b1:6e:dd:b3:0c:d9:9e:6a:46:af:da:18:f8:ef:ae:2e:c0:9a:75:2c:9b:b3:0f:3a:5f:3d', 'sha512': 'fd:ed:5e:39:48:5f:9f:fe:7f:25:06:3f:79:08:cd:ee:a5:e7:b3:3d:13:82:87:1f:84:e1:f5:c7:28:77:53:94:86:56:38:69:f0:d9:35:22:01:1e:a6:60:...:0f:9b'}
format
строка
изменено или успешно
Формат открытого ключа (PEM, OpenSSH, ...).

Пример:
PEM
privatekey
строка
изменено или успешно
Путь к закрытому ключу TLS/SSL, из которого был сгенерирован открытый ключ.

Пример:
/etc/ssl/private/ansible.com.pem


Статус

  • Отсутствует гарантия обратной совместимости этого модуля. [превью]
  • Этот модуль поддерживается сообществом Ansible. [сообщество]

Авторы

  • Yanis Guenane (@Spredzy)

Подсказка

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

© 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/openssl_publickey_module.html

Spec-Zone.ru

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