Модуль community.crypto.openssh_keypair – Генерация открытых и закрытых ключей OpenSSH
Примечание
Этот модуль входит в коллекцию community.crypto (версия 2.22.1).
У вас, возможно, уже установлена эта коллекция, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.crypto. Для использования этого модуля требуются дополнительные условия, см. Требования для получения подробностей.
Для использования в плейбуке укажите: community.crypto.openssh_keypair.
Обзор
- Этот модуль позволяет (пере)генерировать закрытые и открытые ключи OpenSSH. Он использует ssh-keygen для генерации ключей. Можно сгенерировать
rsa,dsa,rsa1,ed25519илиecdsaзакрытые ключи.
Требования
Ниже приведены требования, необходимые на хосте, на котором выполняется этот модуль.
- ssh-keygen (если
backend=openssh) - cryptography >= 2.6 (если
backend=cryptographyи установлен OpenSSH < 7.8) - cryptography >= 3.0 (если
backend=cryptographyи установлен OpenSSH >= 7.8)
Параметры
Параметр | Комментарии |
|---|---|
attributes псевдонимы: attr строка | Атрибуты, которые должен иметь полученный объект файловой системы. Чтобы получить поддерживаемые флаги, обратитесь к странице руководства для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и в выводе команды lsattr. Оператор |
backend строка добавлено в community.crypto 1.7.0 | Выбирает между библиотекой
Варианты:
|
comment строка | Предоставляет новый комментарий к открытому ключу. |
force логическое значение | Нужно ли перегенерировать ключ, даже если он уже существует? Варианты:
|
group строка | Имя группы, которая должна владеть объектом файловой системы, как это передается в команду chown. Если не указано, используется текущая группа текущего пользователя, за исключением случая с root-пользователем, где может сохраняться предыдущая владельческая группа. |
mode любое | Разрешения, которые должен иметь полученный объект файловой системы. Для тех, кто привык к /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны предоставить Ansible достаточно информации для их корректного анализа. Для согласованных результатов заключайте восьмеричные числа в кавычки (например, Передача Ansible чисел без соблюдения этих правил приведет к десятичным числам, что даст неожиданные результаты. Начиная с Ansible 1.8, режим может быть указан в символической форме (например, Если Если Указание |
owner строка | Имя пользователя, который должен владеть объектом файловой системы, как это передается в команду chown. Если не указано, используется текущий пользователь, за исключением случая с root-пользователем, где может сохраняться предыдущая владельческая группа. Указание числового имени пользователя будет интерпретироваться как идентификатор пользователя, а не имя пользователя. Избегайте числовых имён пользователей, чтобы избежать этой неоднозначности. |
passphrase строка добавлено в community.crypto 1.7.0 | Пароль, используемый для расшифровки существующего закрытого ключа или шифрования вновь сгенерированного закрытого ключа. Пароли не поддерживаются для Может быть использован только при |
path путь / обязательный | Имя файлов, содержащих открытый и закрытый ключ. Файл, содержащий открытый ключ, будет иметь расширение |
private_key_format строка добавлено в community.crypto 1.7.0 | Используется при При установке в Для OpenSSH < 7.8 закрытые ключи будут в формате PKCS1, за исключением ключей ed25519, которые будут в формате OpenSSH. Для OpenSSH >= 7.8 все типы закрытых ключей будут в формате OpenSSH. Использование этого параметра при Варианты:
|
regenerate строка добавлено в community.crypto 1.0.0 | Позволяет настроить ситуации, в которых модуль разрешается перегенерировать закрытые ключи. Модуль всегда сгенерирует новый ключ, если целевой файл не существует. По умолчанию ключ будет перегенерирован, если он не соответствует параметрам модуля, за исключением случаев, когда ключ не может быть прочитан или пароль не совпадает. Обратите внимание, что это изменилось для Ansible 2.10. Для Ansible 2.9 поведение было таким, как если бы был указан Если установлено Если установлено Если установлено Если установлено Если установлено Обратите внимание, что изменение комментария и разрешений может произойти без перегенерации. Поэтому даже для Варианты:
|
selevel строка | Часть контекста объекта файла SELinux, относящаяся к уровню. Это атрибут MLS/MCS, иногда известный как Если установлено значение |
serole строка | Часть контекста объекта файла SELinux, относящаяся к роли. Если установлено значение |
setype строка | Часть контекста объекта файла SELinux, относящаяся к типу. Если установлено значение |
seuser строка | Часть контекста объекта файла SELinux, относящаяся к пользователю. По умолчанию используется политика Если установлено значение |
size целое число | Указывает количество бит в закрытом ключе для создания. Для ключей RSA минимальный размер составляет 1024 бита, а по умолчанию используется 4096 бит. Обычно достаточно 2048 бит. Ключи DSA должны иметь ровно 1024 бита, как указано в FIPS 186-2. Для ключей ECDSA размер определяет длину ключа, выбирая один из трех размеров эллиптических кривых: 256, 384 или 521 бит. Попытка использовать длины битов, отличные от этих трех значений для ключей ECDSA, приведет к сбою этого модуля. Ключи Ed25519 имеют фиксированную длину, и размер будет проигнорирован. |
state строка | Определяет, должны ли существовать закрытый и открытый ключи или нет, выполняя действия, если состояние отличается от указанного. Варианты:
|
type строка | Алгоритм, используемый для генерации закрытого ключа SSH. Варианты:
|
unsafe_writes логическое | Влияет на использование атомарной операции для предотвращения повреждения данных или несогласованного чтения из целевого объекта файловой системы. По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения из целевых объектов файловой системы, но иногда системы настроены или просто неисправны, что препятствует этому. Одним из примеров является подмонтированная файловая система Docker, которая не может быть обновлена атомарно изнутри контейнера и может быть записана только неатомарным способом. Этот параметр позволяет Ansible перейти к небезопасным методам обновления объектов файловой системы при сбое атомарных операций (однако он не заставляет Ansible выполнять небезопасные записи). ВАЖНО! Небезопасные записи подвержены гонкам и могут привести к повреждению данных. Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Может работать в режиме |
diff_mode | Поддержка: полная | Вернет подробности о том, что изменилось (или, возможно, нуждается в изменении в |
safe_file_operations | Поддержка: полная | Использует строго типизированные функции Ansible для работы с файлами, чтобы гарантировать правильные разрешения и избежать повреждения данных. |
Примечания
Примеры
- name: Generate an OpenSSH keypair with the default values (4096 bits, rsa)
community.crypto.openssh_keypair:
path: /tmp/id_ssh_rsa
- name: Generate an OpenSSH keypair with the default values (4096 bits, rsa) and encrypted private key
community.crypto.openssh_keypair:
path: /tmp/id_ssh_rsa
passphrase: super_secret_password
- name: Generate an OpenSSH rsa keypair with a different size (2048 bits)
community.crypto.openssh_keypair:
path: /tmp/id_ssh_rsa
size: 2048
- name: Force regenerate an OpenSSH keypair if it already exists
community.crypto.openssh_keypair:
path: /tmp/id_ssh_rsa
force: true
- name: Generate an OpenSSH keypair with a different algorithm (dsa)
community.crypto.openssh_keypair:
path: /tmp/id_ssh_dsa
type: dsa
Значения возврата
Общие значения возврата документированы здесь, следующие являются полями, уникальными для данного модуля:
Ключ | Описание |
|---|---|
comment строка | Комментарий сгенерированного ключа. Возвращается: changed или success Пример: |
filename строка | Путь к сгенерированному файлу SSH-приватного ключа. Возвращается: changed или success Пример: |
fingerprint строка | Отпечаток ключа. Возвращается: changed или success Пример: |
public_key строка | Открытый ключ сгенерированного SSH-приватного ключа. Возвращается: changed или success Пример: |
size целое число | Размер (в битах) SSH-приватного ключа. Возвращается: changed или success Пример: |
type строка | Алгоритм, используемый для генерации SSH-приватного ключа. Возвращается: 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_keypair_module.html