openssl_publickey — Генерация открытого ключа OpenSSL из закрытого ключа.
Новая в версии 2.3.
Описание
- Этот модуль позволяет (повторно) сгенерировать открытые ключи OpenSSL из их закрытых ключей. Он использует библиотеку pyOpenSSL для взаимодействия с openssl. Ключи генерируются в формате PEM. Этот модуль работает только если версия PyOpenSSL достаточно новая (> 16.0.0).
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- python-pyOpenSSL
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| attributes (добавлен в 2.3) | Значение по умолчанию: None | Атрибуты файла или каталога. Для получения поддерживаемых флагов см. страницу руководства для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и в выводе lsattr. псевдонимы: attr |
| force |
нет | Необходимо ли перегенерировать ключ, даже если он уже существует? |
| format (добавлен в 2.4) |
| Формат открытого ключа. |
| group | Значение по умолчанию: None | Имя группы, которой должен принадлежать файл/каталог, как для команды chown. |
| mode | Значение по умолчанию: None | Режим файла или каталога. Для тех, кто привык к /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами (например, 0644 или 01777). Опущение ведущего нуля, скорее всего, приведет к непредвиденным результатам. Начиная с версии 1.8, режим может быть указан как символический режим (например, u+rwx или u=rw,g=r,o=r). |
| owner | Значение по умолчанию: None | Имя пользователя, которому должен принадлежать файл/каталог, как для команды chown. |
| path требуется | Имя файла, в котором будет записан сгенерированный открытый ключ TLS/SSL. | |
| privatekey_passphrase (добавлен в 2.4) | Пароль для закрытого ключа. | |
| privatekey_path требуется | Путь к закрытому ключу TLS/SSL, из которого будет сгенерирован открытый ключ. | |
| selevel | Значение по умолчанию: s0 | Часть контекста файла SELinux. Это атрибут MLS/MCS, иногда известный как range. _default функция работает так же, как и для seuser. |
| serole | Значение по умолчанию: None | Часть контекста файла SELinux, _default функция работает так же, как и для seuser. |
| setype | Значение по умолчанию: None | Часть контекста файла SELinux, _default функция работает так же, как и для seuser. |
| seuser | Значение по умолчанию: None | Пользовательская часть контекста файла SELinux. По умолчанию устанавливается согласно политике системы, если применимо. Если установлено значение _default, будет использоваться user часть политики, если она доступна. |
| state |
| Открытый ключ должен существовать или нет, принимая действия, если состояние отличается от указанного. |
| unsafe_writes (добавлен в 2.2) |
| Обычно этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованных чтений из целевых файлов, иногда системы настроены или просто неисправны так, что это предотвращает. Один из примеров — файлы, смонтированные в Docker, они не могут быть обновлены атомарно и могут быть обновлены только небезопасным способом. Этот булевый параметр позволяет Ansible перейти к небезопасным методам обновления файлов в тех случаях, когда нет другого выбора. Имейте в виду, что это подвержено гонкам и может привести к повреждению данных. |
Примеры
# 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
# 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
# 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
# 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: True
# Remove an OpenSSL public key
- openssl_publickey:
path: /etc/ssl/public/ansible.com.pem
privatekey_path: /etc/ssl/private/ansible.com.pem
state: absent
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| filename строка | изменилось или успех | Путь к сгенерированному файлу открытого ключа TLS/SSL Пример: /etc/ssl/public/ansible.com.pem |
| fingerprint словарь | изменилось или успех | Отпечаток открытого ключа. Отпечаток будет сгенерирован для каждого алгоритма hashlib, доступного в системе. Требуется PyOpenSSL >= 16.0 для осмысленного вывода. Пример: {'sha1': '51:cc:7c:68:5d:eb:41:43:88:7e:1a:ae:c7:f8:24:72:ee:71:f6:10', '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', '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', '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', 'md5': '84:75:71:72:8d:04:b5:6c:4d:37:6d:66:83:f5:4c:29'} |
| format строка | изменилось или успех | Формат открытого ключа (PEM, OpenSSH, ...) Пример: PEM |
| privatekey строка | изменилось или успех | Путь к закрытому ключу TLS/SSL, из которого был сгенерирован открытый ключ Пример: /etc/ssl/private/ansible.com.pem |
Статус
Этот модуль помечен как предварительная версия, что означает, что его интерфейс не гарантированно будет обратной совместимостью.
Автор
- 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.5/modules/openssl_publickey_module.html