Модуль community.crypto.openssl_publickey — создание открытого ключа OpenSSL на основе закрытого ключа
Примечание
Этот модуль входит в коллекцию community.crypto (версия 3.2.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.crypto. Для использования этого модуля требуются дополнительные компоненты; подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: community.crypto.openssl_publickey.
Краткое описание
- Этот модуль позволяет создавать или повторно создавать открытые ключи на основе соответствующих закрытых ключей.
- Открытые ключи создаются в формате PEM или OpenSSH. Закрытые ключи должны быть ключами OpenSSL в формате PEM. Закрытые ключи OpenSSH не поддерживаются; для управления ими используйте модуль community.crypto.openssh_keypair.
- Модуль использует библиотеку Python cryptography.
Требования
Следующие требования должны быть выполнены на узле, на котором выполняется этот модуль.
- cryptography >= 3.3
Параметры
Параметр | Комментарии |
|---|---|
attributes псевдонимы: attr строка | Атрибуты, которые должен иметь итоговый объект файловой системы. Список поддерживаемых флагов см. на странице руководства для Эта строка должна содержать атрибуты в том же порядке, в котором они отображаются командой По умолчанию предполагается оператор |
backup логическое значение | Создать резервную копию с меткой времени, чтобы можно было восстановить исходный открытый ключ, если вы случайно заменили его другим. Варианты:
|
force логическое значение | Следует ли повторно создать ключ, даже если он уже существует. Варианты:
|
format строка | Формат открытого ключа. Варианты:
|
group строка | Имя группы, которой должен принадлежать объект файловой системы; оно передаётся команде Если значение не указано, используется текущая группа текущего пользователя, а если вы работаете от имени root — может сохраниться прежний владелец. |
mode любое значение | Права доступа, которые должен иметь итоговый объект файловой системы. Если вы привыкли к Если передать Ansible число, не соблюдая ни одно из этих правил, оно будет интерпретировано как десятичное, что приведёт к неожиданным результатам. Начиная с Ansible 1.8, режим можно задавать в символьном виде (например, Если Если Указание |
owner строка | Имя пользователя, которому должен принадлежать объект файловой системы; оно передаётся команде Если значение не указано, используется текущий пользователь, а если вы работаете от имени root — может сохраниться прежний владелец. Числовое имя пользователя будет считаться идентификатором пользователя, а не именем. Во избежание неоднозначности не используйте числовые имена пользователей. |
path путь / обязательный | Имя файла, в который будет записан созданный открытый ключ TLS/SSL. |
privatekey_content строка добавлено в community.crypto 1.0.0 | Содержимое закрытого ключа TLS/SSL, на основе которого нужно создать открытый ключ. Необходимо указать |
privatekey_passphrase строка | Парольная фраза для закрытого ключа. |
privatekey_path путь | Путь к закрытому ключу TLS/SSL, на основе которого нужно создать открытый ключ. Необходимо указать |
return_content логическое значение добавлено в community.crypto 1.0.0 | Если задано значение Варианты:
|
select_crypto_backend строка | Определяет, какую криптографическую серверную часть использовать. По умолчанию выбирается Если задано значение Обратите внимание: в community.crypto 3.0.0 все значения работают одинаково. В более поздней версии этот параметр будет объявлен устаревшим. Рекомендуется не задавать его явно. Варианты:
|
selevel строка | Уровень в контексте объекта файловой системы SELinux. Это атрибут MLS/MCS, иногда называемый Если задано значение |
serole строка | Роль в контексте объекта файловой системы SELinux. Если задано значение |
setype строка | Тип в контексте объекта файловой системы SELinux. Если задано значение |
seuser строка | Пользователь в контексте объекта файловой системы SELinux. По умолчанию используется политика Если задано значение |
state строка | Определяет, должен ли открытый ключ существовать; если его состояние отличается от указанного, выполняются соответствующие действия. Варианты:
|
unsafe_writes логическое значение | Определяет, когда использовать атомарные операции для предотвращения повреждения данных или несогласованного чтения целевого объекта файловой системы. По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения целевых объектов файловой системы, однако иногда конфигурация систем или их неисправности делают это невозможным. Например, объекты файловой системы, подключённые в Docker, нельзя атомарно обновить из контейнера — их можно записывать только небезопасным способом. Этот параметр позволяет Ansible переключаться на небезопасные методы обновления объектов файловой системы, если атомарные операции завершаются ошибкой (однако он не заставляет Ansible выполнять небезопасную запись). ВАЖНО! Небезопасная запись подвержена состояниям гонки и может привести к повреждению данных. Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Модуль может работать в режиме |
diff_mode | Поддержка: полная | В режиме сравнения будут возвращены сведения об изменениях (или о возможных изменениях в |
idempotent | Поддержка: частичная Модуль не является идемпотентным, если | При повторном запуске с теми же аргументами вне режима проверки второй вызов сообщает об отсутствии изменений. Предполагается, что система, контролируемая или запрашиваемая модулем, не изменилась существенным образом. |
safe_file_operations | Поддержка: полная | Используются строгие функции Ansible для работы с файлами, обеспечивающие правильные права доступа и предотвращающие повреждение данных. |
См. также
См. также
- community.crypto.x509_certificate
-
Создание и/или проверка сертификатов OpenSSL.
- community.crypto.x509_certificate_pipe
-
Создание и/или проверка сертификатов OpenSSL.
- community.crypto.openssl_csr
-
Создание запроса на подпись сертификата (CSR) OpenSSL.
- community.crypto.openssl_csr_pipe
-
Создание запроса на подпись сертификата (CSR) OpenSSL.
- community.crypto.openssl_dhparam
-
Создание параметров Диффи — Хеллмана OpenSSL.
- community.crypto.openssl_pkcs12
-
Создание архива PKCS#12 OpenSSL.
- community.crypto.openssl_privatekey
-
Создание закрытых ключей OpenSSL.
- community.crypto.openssl_privatekey_pipe
-
Создание закрытых ключей OpenSSL без доступа к диску.
Примеры
---
- name: Generate an OpenSSL public key in PEM format
community.crypto.openssl_publickey:
path: /etc/ssl/public/ansible.com.pem
privatekey_path: /etc/ssl/private/ansible.com.pem
- name: Generate an OpenSSL public key in PEM format from an inline key
community.crypto.openssl_publickey:
path: /etc/ssl/public/ansible.com.pem
privatekey_content: "{{ private_key_content }}"
- name: Generate an OpenSSL public key in OpenSSH v2 format
community.crypto.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
community.crypto.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
community.crypto.openssl_publickey:
path: /etc/ssl/public/ansible.com.pem
privatekey_path: /etc/ssl/private/ansible.com.pem
force: true
- name: Remove an OpenSSL public key
community.crypto.openssl_publickey:
path: /etc/ssl/public/ansible.com.pem
state: absent
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
backup_file строка | Имя созданного файла резервной копии. Возвращается: при изменении и если Пример: |
filename строка | Путь к файлу созданного открытого ключа TLS/SSL. Возвращается: при изменении или успешном выполнении Пример: |
fingerprint словарь | Отпечаток открытого ключа. Отпечаток будет создан для каждого доступного алгоритма hashlib.algorithms. Возвращается: при изменении или успешном выполнении Пример: |
format строка | Формат открытого ключа (PEM, OpenSSH и т. д.). Возвращается: при изменении или успешном выполнении Пример: |
privatekey строка | Путь к закрытому ключу TLS/SSL, на основе которого был создан открытый ключ. Значение будет Возвращается: при изменении или успешном выполнении Пример: |
publickey строка добавлено в community.crypto 1.0.0 | Содержимое открытого ключа (текущего или созданного). Возвращается: если |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/crypto/openssl_publickey_module.html