openssh_keypair – Генерация ключей OpenSSH
Новая в версии 2.8.
Описание
- Этот модуль позволяет (пере)генерировать открытые и закрытые ключи OpenSSH. Он использует ssh-keygen для генерации ключей. Можно сгенерировать
rsa,dsa,rsa1,ed25519илиecdsaзакрытые ключи.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- ssh-keygen
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| attributes строка | Атрибуты, которые должны иметь результирующий файл или директория. Чтобы получить поддерживаемые флаги, см. страницу руководства для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и при отображении lsattr. Оператор = предполагается по умолчанию, в противном случае необходимо включить операторы + или - в строку.псевдонимы: attr | |
| comment строка добавлено в 2.9 | Предоставляет новый комментарий к открытому ключу. При проверке состояния ключа это будет проигнорировано. | |
| force логическое значение |
| Ключ должен быть перегенерирован, даже если он уже существует |
| group строка | Имя группы, которой должен принадлежать файл/директория, как и в команде chown. | |
| mode строка | Разрешения, которые должен иметь результирующий файл или директория. Для тех, кто привык к /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны либо добавить ведущую нуль, чтобы парсер YAML Ansible знал, что это восьмеричное число (например, 0644 или 01777) или заключить его в кавычки (например, '644' или '1777') таким образом Ansible получит строку и сможет самостоятельно преобразовать ее в число.Предоставление Ansible числа без соблюдения одного из этих правил приведет к десятичному числу, что даст неожиданные результаты. Начиная с Ansible 1.8, режим может быть указан в символическом виде (например, u+rwx или u=rw,g=r,o=r). | |
| owner строка | Имя пользователя, которому должен принадлежать файл/директория, как и в команде chown. | |
| path путь / обязательно | Имя файлов, содержащих открытый и закрытый ключ. Файл, содержащий открытый ключ, будет иметь расширение .pub. | |
| selevel строка | По умолчанию: "s0" | Часть контекста файла SELinux, определяющая уровень. Этот атрибут MLS/MCS, иногда известный как range. Если установлено значение _default, будет использована часть политики level, если она доступна. |
| serole строка | Часть контекста файла SELinux, определяющая роль. Если установлено значение _default, будет использована часть политики role, если она доступна. | |
| setype строка | Часть контекста файла SELinux, определяющая тип. Если установлено значение _default, будет использована часть политики type, если она доступна. | |
| seuser строка | Часть контекста файла SELinux, определяющая пользователя. По умолчанию используется политика system, где это применимо.Если установлено значение _default, будет использована часть политики user, если она доступна. | |
| size целое число | Указывает количество битов в закрытом ключе для создания. Для ключей RSA минимальный размер составляет 1024 бита, а значение по умолчанию — 4096 бит. Обычно 2048 бит считается достаточным. Ключи DSA должны иметь ровно 1024 бита, как указано в FIPS 186-2. Для ключей ECDSA размер определяет длину ключа путем выбора одного из трех размеров эллиптических кривых: 256, 384 или 521 бит. Попытка использовать длины битов, отличные от этих трех значений для ключей ECDSA, приведет к ошибке данного модуля. Ключи Ed25519 имеют фиксированную длину, и размер будет проигнорирован. | |
| state строка |
| Определяет, должны ли существовать закрытый и открытый ключи, выполняя действия, если состояние отличается от указанного. |
| type строка |
| Алгоритм, используемый для генерации закрытого ключа SSH. rsa1 предназначен для протокола версии 1. rsa1 устарел и может не поддерживаться всеми версиями ssh-keygen. |
| unsafe_writes логическое значение |
| Влияние на использование атомарной операции для предотвращения повреждения данных или несогласованного чтения из целевого файла. По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения из целевых файлов, но иногда системы настроены или просто неисправны таким образом, что это не возможно. Одним из примеров являются файлы, смонтированные в Docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только ненадёжным способом. Этот параметр позволяет Ansible использовать ненадёжные методы обновления файлов, когда атомарные операции завершаются неудачей (тем не менее, он не принуждает Ansible выполнять ненадёжные записи). ВАЖНО! Ненадёжные записи подвержены проблемам гонок и могут привести к повреждению данных. |
Примеры
# Generate an OpenSSH keypair with the default values (4096 bits, rsa)
- openssh_keypair:
path: /tmp/id_ssh_rsa
# Generate an OpenSSH rsa keypair with a different size (2048 bits)
- openssh_keypair:
path: /tmp/id_ssh_rsa
size: 2048
# Force regenerate an OpenSSH keypair if it already exists
- openssh_keypair:
path: /tmp/id_ssh_rsa
force: True
# Generate an OpenSSH keypair with a different algorithm (dsa)
- openssh_keypair:
path: /tmp/id_ssh_dsa
type: dsa
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие — уникальные для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| comment строка | изменено или успех | Комментарий к сгенерированному ключу Пример: test@comment |
| filename строка | изменено или успех | Путь к сгенерированному файлу закрытого ключа SSH Пример: /tmp/id_ssh_rsa |
| fingerprint строка | изменено или успех | Отпечаток ключа. Пример: SHA256:r4YCZxihVjedH2OlfjVGI6Y5xAYtdCwk8VxKyzVyYfM |
| public_key строка | изменено или успех | Открытый ключ сгенерированного закрытого ключа SSH Пример: ssh-rsa AAAAB3Nza(...опущено...)veL4E3Xcw== test_key |
| size целое число | изменено или успех | Размер (в битах) закрытого ключа SSH Пример: 4096 |
| type строка | изменено или успех | Алгоритм, используемый для генерации закрытого ключа SSH Пример: rsa |
Статус
- Этот модуль не гарантирует обратную совместимость интерфейса. [preview]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- David Kainz (@lolcube)
Подсказка
Если вы обнаружите какие-либо проблемы в этом руководстве, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/openssh_keypair_module.html