Модуль community.crypto.openssl_publickey — Генерация открытого ключа OpenSSL из закрытого.
Примечание
Этот модуль входит в коллекцию community.crypto (версия 2.22.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 для работы с ними.
- Модуль использует библиотеку cryptography Python.
Требования
Ниже перечислены требования, необходимые на хосте, который выполняет этот модуль.
- cryptography >= 1.2.3 (более старые версии также могут работать)
- Требуется cryptography >= 1.4, если
format—OpenSSH.
Параметры
Параметр | Комментарии |
|---|---|
attributes aliases: attr строка | Атрибуты, которые должен иметь полученный объект файловой системы. Для получения поддерживаемых флагов обратитесь к странице руководства для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и отображается командой lsattr. Оператор |
backup логическое значение | Создать резервную копию файла, включая отметку времени, чтобы вы могли восстановить исходный открытый ключ, если случайно перезаписали его другим. Варианты:
|
force логическое значение | Ключ должен быть сгенерирован заново, даже если он уже существует. Варианты:
|
format строка | Формат открытого ключа. Варианты:
|
group строка | Имя группы, которая должна владеть объектом файловой системы, как если бы это было введено в команду chown. Если не указано, используется текущая группа текущего пользователя, если вы не root, в противном случае сохраняется предыдущее владение. |
mode любой | Разрешения, которые должен иметь полученный объект файловой системы. Для тех, кто привык к /usr/bin/chmod, помните, что режимы фактически представляют собой восьмеричные числа. Вы должны предоставить Ansible достаточно информации для правильного их разбора. Для согласованных результатов заключайте восьмеричные числа в кавычки (например, Если Ansible получает число без соблюдения одного из этих правил, это будет рассматриваться как десятичное число, что приведет к непредсказуемым результатам. Начиная с Ansible 1.8, режим может быть указан в символьной форме (например, Если Если Указание |
owner строка | Имя пользователя, который должен владеть объектом файловой системы, как если бы это было введено в команду chown. Если не указано, используется текущий пользователь, если вы не 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 строка | Определяет, какой криптографический бэкенд использовать. По умолчанию используется Если установлено в Варианты:
|
selevel строка | Часть уровня SELinux контекста объекта файловой системы. Это атрибут MLS/MCS, иногда известный как Если установлено в |
serole строка | Часть роли SELinux контекста объекта файловой системы. Если установлено в |
setype строка | Часть контекста SELinux объекта файловой системы. При значении |
seuser строка | Часть контекста SELinux объекта файловой системы. По умолчанию используется политика При значении |
state строка | Определяет, должен ли публичный ключ существовать, и предпринимает действия, если состояние отличается от указанного. Варианты:
|
unsafe_writes булево | Влияет на использование атомарных операций для предотвращения повреждения данных или несогласованных чтений из целевого объекта файловой системы. По умолчанию модуль использует атомарные операции, чтобы предотвратить повреждение данных или несогласованность чтений из целевых объектов файловой системы, но иногда системы настроены или просто неисправны таким образом, что это невозможно. Одним из примеров являются объекты файловой системы, смонтированные через Docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только небезопасным способом. Этот параметр позволяет Ansible переключаться на небезопасные методы обновления объектов файловой системы, когда атомарные операции не удаются (однако, он не заставляет Ansible выполнять небезопасные записи). ВАЖНО! Небезопасные записи подвержены гонкам и могут привести к повреждению данных. Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Может работать в режиме |
diff_mode | Поддержка: полная | Вернёт подробности о том, что изменилось (или, возможно, нуждается в изменении в |
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
-
Генерация параметров Diffie-Hellman OpenSSL.
- community.crypto.openssl_pkcs12
-
Генерация архива OpenSSL PKCS#12.
- 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 строка | Имя созданного файла резервной копии. Возвращается: changed и если Пример: |
filename строка | Путь к сгенерированному файлу открытого ключа TLS/SSL. Возвращается: changed или success Пример: |
fingerprint словарь | Отпечаток открытого ключа. Отпечаток будет сгенерирован для каждого доступного алгоритма hashlib. Возвращается: changed или success Пример: |
format строка | Формат открытого ключа (PEM, OpenSSH, …). Возвращается: changed или success Пример: |
privatekey строка | Путь к закрытому ключу TLS/SSL, из которого был сгенерирован открытый ключ. Будет Возвращается: changed или success Пример: |
publickey строка добавлено в community.crypto 1.0.0 | Содержимое открытого ключа (текущего или сгенерированного). Возвращается: если |
Ссылки на коллекции
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/crypto/openssl_publickey_module.html