Модуль community.crypto.openssh_keypair — создание закрытых и открытых ключей OpenSSH
Примечание
Этот модуль входит в коллекцию community.crypto (версия 3.2.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 >= 3.3 (если используется
backend=cryptography) - bcrypt (если используются
backend=cryptographyиpassphrase)
Параметры
Параметр | Комментарии |
|---|---|
attributes псевдонимы: attr string | Атрибуты, которые должен иметь созданный объект файловой системы. Список поддерживаемых флагов см. на странице руководства для Эта строка должна содержать атрибуты в том же порядке, в каком они отображаются командой По умолчанию предполагается оператор |
backend string добавлено в community.crypto 1.7.0 | Позволяет выбрать между библиотекой
Варианты:
|
comment string | Задает новый комментарий для открытого ключа. |
force boolean | Следует ли повторно создавать ключ, даже если он уже существует. Варианты:
|
group string | Имя группы, которой должен принадлежать объект файловой системы, передаваемое команде Если значение не указано, используется текущая группа текущего пользователя, за исключением случая, когда пользователь — root: тогда может сохраняться прежнее владение. |
mode any | Права доступа, которые должен иметь созданный объект файловой системы. Если вы привыкли к Если передать Ansible число, не соблюдая ни одно из этих правил, оно будет интерпретировано как десятичное, что приведет к неожиданным результатам. Начиная с Ansible 1.8, режим можно указывать в символьном виде (например, Если Если Указание |
owner string | Имя пользователя, которому должен принадлежать объект файловой системы, передаваемое команде Если значение не указано, используется текущий пользователь, за исключением случая, когда пользователь — root: тогда может сохраняться прежнее владение. Числовое имя пользователя будет считаться идентификатором пользователя, а не именем. Во избежание путаницы не используйте числовые имена пользователей. |
passphrase string добавлено в community.crypto 1.7.0 | Парольная фраза для расшифровки существующего закрытого ключа или шифрования нового закрытого ключа. Для Можно использовать только при |
path path / обязательный | Имена файлов, содержащих открытый и закрытый ключи. К имени файла с открытым ключом добавляется расширение |
private_key_format string добавлено в community.crypto 1.7.0 | Используется при Если установлено значение В OpenSSH < 7.8 закрытые ключи будут иметь формат PKCS1, за исключением ключей ed25519, которые будут иметь формат OpenSSH. В OpenSSH >= 7.8 все типы закрытых ключей будут иметь формат OpenSSH. Использование этого параметра при Варианты:
|
regenerate string добавлено в community.crypto 1.0.0 | Позволяет настроить условия, при которых модулю разрешено повторно создавать закрытые ключи. Модуль всегда создает новый ключ, если целевой файл не существует. По умолчанию ключ будет создан повторно, если он не соответствует параметрам модуля, за исключением случаев, когда ключ невозможно прочитать или парольная фраза не подходит. Обратите внимание, что это изменилось в Ansible 2.10. В Ansible 2.9 поведение соответствовало указанию Если установлено значение Если установлено значение Если установлено значение Если установлено значение Если установлено значение Обратите внимание: комментарий и права доступа можно изменить без повторного создания ключа. Поэтому даже при Варианты:
|
selevel string | Уровневая часть контекста объекта файловой системы SELinux. Это атрибут MLS/MCS, иногда называемый Если установлено значение |
serole string | Ролевая часть контекста объекта файловой системы SELinux. Если установлено значение |
setype string | Типовая часть контекста объекта файловой системы SELinux. Если установлено значение |
seuser string | Пользовательская часть контекста объекта файловой системы SELinux. По умолчанию, если применимо, используется политика Если установлено значение |
size integer | Задает количество битов в создаваемом закрытом ключе. Для ключей RSA минимальный размер составляет 1024 бита, а размер по умолчанию — 4096 бит. Обычно достаточным считается размер 2048 бит. Размер ключей DSA должен составлять ровно 1024 бита, как указано в FIPS 186-2. Для ключей ECDSA размер определяет длину ключа выбором одной из трех длин эллиптической кривой: 256, 384 или 521 бит. Попытка использовать для ключей ECDSA длину, отличную от этих трех значений, приведет к ошибке модуля. Ключи Ed25519 имеют фиксированную длину, поэтому параметр размера игнорируется. |
state string | Определяет, должны ли существовать закрытый и открытый ключи; если фактическое состояние отличается от указанного, выполняются соответствующие действия. Варианты:
|
type string | Алгоритм, используемый для создания закрытого ключа SSH. Варианты:
|
unsafe_writes boolean | Определяет, когда следует использовать атомарные операции для предотвращения повреждения данных или несогласованного чтения целевого объекта файловой системы. По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения целевых объектов файловой системы, однако некоторые системы настроены особым образом или просто неисправны, поэтому атомарные операции в них невозможны. Например, подключенные в Docker объекты файловой системы нельзя атомарно обновить из контейнера — их можно записывать только небезопасным способом. Этот параметр позволяет Ansible использовать небезопасные методы обновления объектов файловой системы, если атомарные операции завершаются ошибкой (однако он не заставляет Ansible выполнять небезопасную запись). ВАЖНО! Небезопасная запись подвержена состояниям гонки и может привести к повреждению данных. Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Модуль может работать в режиме |
diff_mode | Поддержка: полная | В режиме сравнения возвращает подробные сведения о том, что изменилось (или может потребовать изменения в |
idempotent | Поддержка: частичная Модуль не является идемпотентным, если указано | При повторном запуске с теми же аргументами вне режима проверки второй вызов сообщает об отсутствии изменений. Предполагается, что система, состояние которой контролирует или проверяет модуль, не изменилась существенным образом. |
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: Regenerate SSH keypair only if format or options mismatch
community.crypto.openssh_keypair:
path: /home/devops/.ssh/id_ed25519
type: ed25519
regenerate: full_idempotence
private_key_format: ssh
- name: Generate an OpenSSH keypair with a different algorithm (dsa)
community.crypto.openssh_keypair:
path: /tmp/id_ssh_dsa
type: dsa
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
comment string | Комментарий созданного ключа. Возвращается: changed или success Пример: |
filename string | Путь к файлу созданного закрытого ключа SSH. Возвращается: changed или success Пример: |
fingerprint string | Отпечаток ключа. Возвращается: changed или success Пример: |
public_key string | Открытый ключ созданного закрытого ключа SSH. Возвращается: changed или success Пример: |
size integer | Размер закрытого ключа SSH в битах. Возвращается: changed или success Пример: |
type string | Алгоритм, использованный для создания закрытого ключа SSH. Возвращается: changed или success Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/crypto/openssh_keypair_module.html