openssl_publickey - Генерация открытого ключа OpenSSL из закрытого ключа.
Новое в версии 2.3.
Описание
- Этот модуль позволяет (снова) генерировать открытые ключи OpenSSL из закрытых ключей. Он использует библиотеку pyOpenSSL для взаимодействия с openssl. Ключи генерируются в формате PEM. Этот модуль работает только при достаточно новой версии PyOpenSSL (> 16.0.0).
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- python-pyOpenSSL
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| attributes (добавлено в 2.3) | Атрибуты файла или каталога. Для получения поддерживаемых флагов см. страницу руководства для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и при отображении lsattr. псевдонимы: attr | |
| force bool |
| Необходимо ли перегенерировать ключ, даже если он уже существует |
| format (добавлено в 2.4) |
| Формат открытого ключа. |
| group | Имя группы, которая должна владеть файлом/каталогом, как это было бы передано в chown. | |
| mode | Режим файла или каталога. Для тех, кто привык к /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны либо указать ведущий ноль, чтобы парсер YAML Ansible знал, что это восьмеричное число (например, 0644 или 01777) , либо заключить его в кавычки (например, '644' или '0644'), чтобы 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 работает так же, как для seuser. |
| serole | Ролевая часть контекста файла SELinux, функция _default работает так же, как для seuser. | |
| setype | Типовая часть контекста файла SELinux, функция _default работает так же, как для seuser. | |
| seuser | Пользовательская часть контекста файла SELinux. Будет по умолчанию соответствовать политике системы, если применимо. Если установлено значение _default, будет использоваться часть политики user, если она доступна. | |
| state |
| Выполнить ли какие-либо действия, если состояние отличается от заданного. |
| unsafe_writes bool (добавлено в 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 для получения осмысленного результата. Пример: {'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. Подробности см. в разделе Техническое обслуживание и поддержка модулей.
Список других модулей, которые также поддерживаются сообществом 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.6/modules/openssl_publickey_module.html