community.crypto.openssh_cert модуль — Генерация сертификатов OpenSSH для хоста или пользователя.
Примечание
Этот модуль является частью коллекции community.crypto (версия 2.22.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить её установку, выполните ansible-galaxy collection list.
Для её установки используйте: ansible-galaxy collection install community.crypto. Для использования этого модуля необходимы дополнительные требования, см. Требования для подробностей.
Для использования в плейбуке укажите: community.crypto.openssh_cert.
Описание
- Генерация и перегенерация сертификатов OpenSSH для хоста или пользователя.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- ssh-keygen
Параметры
Параметр | Комментарии |
|---|---|
attributes псевдонимы: attr строка | Атрибуты, которые должен иметь полученный файловый объект. Чтобы узнать поддерживаемые флаги, обратитесь к справке man для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и в выводе команды lsattr. Оператор |
force булево | Перегенерировать сертификат, даже если он уже существует и действителен. Эквивалентно Варианты:
|
group строка | Имя группы, которая должна владеть файловым объектом, как это передается команде chown. Если не указано, используется текущая группа текущего пользователя, если вы не являетесь root, в противном случае сохраняется предыдущая принадлежность. |
identifier строка | Укажите идентификатор ключа при подписи открытого ключа. Идентификатор, который регистрируется сервером при использовании сертификата для аутентификации. |
ignore_timestamps булево добавлено в community.crypto 2.2.0 | Нужно ли игнорировать метки времени Однако значения все равно будут применены к новому сертификату, если он удовлетворяет любым другим необходимым условиям для генерации/перегенерации. Варианты:
|
mode любой | Разрешения, которые должен иметь полученный файловый объект. Для тех, кто знаком с /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны предоставить Ansible достаточно информации, чтобы правильно их разобрать. Для согласованных результатов используйте восьмеричные числа в кавычках (например, Предоставление Ansible числа без соблюдения этих правил приведет к десятичному числу, что даст неожиданные результаты. Начиная с Ansible 1.8, режим можно указать в символьном виде (например, Если Если Указание |
options список / элементы=строка | Укажите параметры сертификата при подписи ключа. Действительными параметрами для сертификатов пользователя являются:
В настоящее время для ключей хостов параметры недействительны. |
owner строка | Имя пользователя, который должен владеть файловым объектом, как это передается команде chown. Если не указано, используется текущий пользователь, если вы не являетесь root, в противном случае сохраняется предыдущая принадлежность. Указание числового имени пользователя будет интерпретироваться как идентификатор пользователя, а не имя пользователя. Избегайте числовых имен пользователей, чтобы избежать путаницы. |
path путь / обязательно | Путь к файлу, содержащему сертификат. |
pkcs11_provider строка добавлено в community.crypto 1.1.0 | Для использования ключа подписи, расположенного на токенах PKCS#11, установите это значение в имя (или полный путь) разделяемой библиотеки для использования с токеном. Обычно Если это значение установлено, |
principals список / элементы=строка | Сертификаты могут быть ограничены по действию наборы имен принципалов (пользователь/хост). По умолчанию сгенерированные сертификаты действительны для всех пользователей или хостов. |
public_key путь | Путь к открытому ключу, который будет подписан с помощью ключа подписи для генерации сертификата. Требуется, если |
regenerate string added in community.crypto 1.8.0 | Когда Когда Когда Когда
Варианты:
|
selevel string | Часть уровня SELinux контекста объекта файловой системы. Это атрибут MLS/MCS, иногда известный как При установке в |
serial_number integer | Укажите порядковый номер сертификата. Сервер регистрирует порядковый номер при использовании сертификата для проверки подлинности. Порядковый номер сертификата может использоваться в списке аннулированных ключей. Порядковый номер может быть опущен для проверок, но должен быть указан повторно для нового сертификата. Примечание: значение по умолчанию, устанавливаемое ssh-keygen, равно 0. Этот параметр принимает целое число. Если вы хотите предоставить порядковые номера в виде разделенных двоеточием шестнадцатеричных строк, таких как |
serole string | Часть роли контекста объекта файловой системы SELinux. При установке в |
setype string | Часть типа контекста объекта файловой системы SELinux. При установке в |
seuser string | Часть пользователя контекста объекта файловой системы SELinux. По умолчанию используется политика При установке в |
signature_algorithm string added in community.crypto 1.10.0 | Начиная с OpenSSH 8.2, алгоритм подписи SHA-1 для ключей RSA был отключен, и Использование любого значения для этого параметра с не-RSA Примечание: версии OpenSSH до 7.2 не поддерживают алгоритмы подписи SHA-2 для ключей RSA, а версии OpenSSH до 7.3 не поддерживают алгоритмы подписи SHA-2 для сертификатов. См. https://www.openssh.com/txt/release-8.2 для получения дополнительной информации. Варианты:
|
signing_key path | Путь к закрытому ключу openssh, используемому для подписи открытого ключа для генерации сертификата. Если закрытый ключ находится на токене PKCS#11 ( Требуется, если |
state string | Определяет, должен ли существовать сертификат хоста или пользователя, и какие действия необходимо выполнить, если состояние отличается от указанного. Варианты:
|
type string | Определяет, должен ли модуль сгенерировать сертификат хоста или пользователя. Требуется, если Варианты:
|
unsafe_writes boolean | Влияет на использование атомарных операций для предотвращения повреждения данных или несогласованных чтений из объекта целевой файловой системы. По умолчанию, этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованных чтений из объектов целевой файловой системы, но иногда системы настроены или просто неисправны таким образом, что это невозможно. Одним из примеров является файловая система, смонтированная с помощью Docker, которая не может быть обновлена атомарно изнутри контейнера и может быть записана только неатомарно. Этот параметр позволяет Ansible перейти к небезопасным методам обновления объектов файловой системы, когда атомарные операции завершаются ошибкой (однако он не принуждает Ansible к выполнению небезопасных записей). ВАЖНО! Небезопасные записи подвержены гонкам и могут привести к повреждению данных. Варианты:
|
use_agent boolean added in community.crypto 1.3.0 | Использовать ли ssh-keygen ключ CA, находящийся в ssh-agent. Варианты:
|
valid_at string | Проверьте, действителен ли сертификат в определённый момент времени. Если нет, сертификат будет перегенерирован. Время всегда интерпретируется как UTC. В основном используется с относительным временем для |
valid_from string | Момент времени, с которого сертификат действителен. Время можно указать как относительное время, так и абсолютную метку времени. Время всегда интерпретируется как UTC. Допустимые форматы: Значение Чтобы пропустить это значение при сравнении с существующим сертификатом, установите Требуется, если |
valid_to string | Момент времени, до которого сертификат действителен. Время можно указать как относительное время, так и абсолютную метку времени. Время всегда интерпретируется как UTC. Допустимые форматы: Чтобы пропустить это значение при сравнении с существующим сертификатом, установите Требуется, если |
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Может работать в |
diff_mode | Поддержка: полная | При использовании режима diff вернёт подробности о том, что изменилось (или, возможно, требует изменения в |
safe_file_operations | Поддержка: полная | Использует функции Ansible для строгих операций с файлами, чтобы обеспечить правильные разрешения и избежать повреждения данных. |
См. также
См. также
- community.crypto.parse_serial фильтр плагин
-
Преобразует серийный номер в виде списка шестнадцатеричных чисел, разделённых двоеточием, в целое число.
Примеры
- name: Generate an OpenSSH user certificate that is valid forever and for all users
community.crypto.openssh_cert:
type: user
signing_key: /path/to/private_key
public_key: /path/to/public_key.pub
path: /path/to/certificate
valid_from: always
valid_to: forever
# Generate an OpenSSH host certificate that is valid for 32 weeks from now and will be regenerated
# if it is valid for less than 2 weeks from the time the module is being run
- name: Generate an OpenSSH host certificate with valid_from, valid_to and valid_at parameters
community.crypto.openssh_cert:
type: host
signing_key: /path/to/private_key
public_key: /path/to/public_key.pub
path: /path/to/certificate
valid_from: +0s
valid_to: +32w
valid_at: +2w
ignore_timestamps: true
- name: Generate an OpenSSH host certificate that is valid forever and only for example.com and examplehost
community.crypto.openssh_cert:
type: host
signing_key: /path/to/private_key
public_key: /path/to/public_key.pub
path: /path/to/certificate
valid_from: always
valid_to: forever
principals:
- example.com
- examplehost
- name: Generate an OpenSSH host Certificate that is valid from 21.1.2001 to 21.1.2019
community.crypto.openssh_cert:
type: host
signing_key: /path/to/private_key
public_key: /path/to/public_key.pub
path: /path/to/certificate
valid_from: "2001-01-21"
valid_to: "2019-01-21"
- name: Generate an OpenSSH user Certificate with clear and force-command option
community.crypto.openssh_cert:
type: user
signing_key: /path/to/private_key
public_key: /path/to/public_key.pub
path: /path/to/certificate
valid_from: always
valid_to: forever
options:
- "clear"
- "force-command=/tmp/bla/foo"
- name: Generate an OpenSSH user certificate using a PKCS#11 token
community.crypto.openssh_cert:
type: user
signing_key: /path/to/ca_public_key.pub
pkcs11_provider: libpkcs11.so
public_key: /path/to/public_key.pub
path: /path/to/certificate
valid_from: always
valid_to: forever
Значения возврата
Общие значения возврата документированы здесь, следующие поля уникальны для данного модуля:
Ключ | Описание |
|---|---|
filename string | путь к сертификату Возвращаемое значение: changed или success Пример: |
info list / elements=string | Информация о сертификате. Вывод Возвращаемое значение: change или success |
type string | тип сертификата (хост или пользователь) Возвращаемое значение: changed или success Пример: |
Ссылки на коллекции
© 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/openssh_cert_module.html