win_authorized_key

win_authorized_key - Добавляет или удаляет авторизованный ключ SSH

Общее описание

  • Модуль Ansible для добавления или удаления авторизованных ключей SSH для конкретных учетных записей пользователей в системах на базе Windows.

Требования

Для выполнения этого модуля на хосте необходимы следующие условия.

  • Win32 OpenSSH

Параметры

Параметр Варианты/По умолчанию Комментарии
user
строка / обязательно
Имя пользователя на удаленном хосте, файл authorized_keys которого будет изменен
key
строка / обязательно
SSH публичный ключ(и) в виде строки или (начиная с 1.9) URL https://github.com/username.keys
path
строка
По умолчанию:
(homedir)+/.ssh/authorized_keys
Альтернативный путь к файлу authorized_keys
manage_dir
логическое
Варианты:
  • нет
  • да ←
Управлять ли этим модулем каталогом файла авторизованных ключей.
Если установлено, модуль создаст каталог, а также задаст владельца и права доступа существующему каталогу.
Обязательно установите manage_dir=нет, если вы используете альтернативный каталог для authorized_keys, указанный с помощью path, так как это может привести к потере доступа по SSH. См. пример ниже.
state
строка
Варианты:
  • присутствует ←
  • отсутствует
Должен ли указанный ключ (с заданными key_options) находиться или не находиться в файле
key_options
строка
Строка опций ключа SSH, которую необходимо добавить перед ключом в файле authorized_keys
exclusive
логическое
Варианты:
  • нет ←
  • да
Удалить ли все остальные неуказанные ключи из файла authorized_keys. Несколько ключей можно указать в одной строке key, разделив их переносами строк.
Эта опция не учитывает циклы, поэтому если вы используете with_, она будет эксклюзивной для каждой итерации цикла. Если вы хотите иметь несколько ключей в файле, вам необходимо передать их все в key в одном пакете, как указано выше.
validate_certs
логическое
Варианты:
  • нет
  • да ←
Это относится только к использованию URL https в качестве источника ключей.
Если установлено на нет, SSL сертификаты не будут проверяться.
Это следует устанавливать на нет только для сайтов, которые контролируются лично с использованием самоподписанных сертификатов, так как это предотвращает проверку источника сайта.
comment
строка
Изменить комментарий к публичному ключу. Перезапись комментария полезна в таких случаях, как получение его из GitHub или GitLab.
Если комментарий не указан, будет сохранен существующий комментарий.
follow
логическое
Варианты:
  • нет ←
  • да
Следовать за символической ссылкой пути вместо замены ее

Примеры

---
roles:
  - win_authorized_key

tasks:

  - name: Установить авторизованный ключ из файла
    win_authorized_key:
      user: charlie
      state: present
      key: "{{ lookup('file', 'c:/users/charlie/.ssh/id_rsa.pub') }}"

  - name: Установить авторизованные ключи из URL
    win_authorized_key:
      user: charlie
      state: present
      key: https://github.com/charlie.keys

  - name: Установить авторизованный ключ в альтернативном месте
    win_authorized_key:
      user: charlie
      state: present
      key: "{{ lookup('file', 'c:/users/charlie/.ssh/id_rsa.pub') }}"
      path: c:/ProgramData/ssh/administrators_authorized_key
      manage_dir: False

  - name: Настроить несколько авторизованных ключей
    win_authorized_key:
      user: deploy
      state: present
      key: '{{ item }}'
    with_file:
      - public_keys/doe-jane
      - public_keys/doe-john

  - name: Установить авторизованный ключ с определением опций ключа
    win_authorized_key:
      user: charlie
      state: present
      key: "{{ lookup('file', 'c:/users/charlie/.ssh/id_rsa.pub') }}"
      key_options: 'no-port-forwarding,from="10.0.1.1"'

  - name: Установить авторизованный ключ без проверки сертификатов TLS/SSL
    win_authorized_key:
      user: charlie
      state: present
      key: https://github.com/user.keys
      validate_certs: False

  - name: Установить авторизованный ключ, удаляя все уже установленные
    win_authorized_key:
      user: administrator
      key: '{{ item }}'
      state: present
      exclusive: True
    with_file:
      - public_keys/doe-jane

Возвращаемые значения

Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:

Ключ Возвращается Описание
exclusive
логическое
успех Установлен ли ключ как эксклюзивный или нет.

Пример:
False
key
строка
успех Ключ, по которому работал модуль.

Пример:
https://github.com/user.keys
key_option
строка
успех Опции ключа, связанные с ключом.
keyfile
строка
успех Путь к файлу авторизованных ключей.

Пример:
C:/users/charlie/.ssh/authorized_keys
manage_dir
логическое
успех Управлял ли этот модуль каталогом файла авторизованных ключей.

Пример:
True
path
строка
успех Альтернативный путь к файлу authorized_keys.
state
строка
успех Должен ли указанный ключ (с заданными key_options) находиться или не находиться в файле.

Пример:
present
unique
логическое
успех Является ли ключ уникальным.

Пример:
False
user
строка
успех Имя пользователя на удаленном хосте, файл authorized_keys которого будет изменен.

Пример:
user
validate_certs
логическое
успех Это относится только к использованию URL https в качестве источника ключей. Если установлено на нет, SSL сертификаты не будут проверяться.

Пример:
True

Авторы

  • Stéphane Bilqué (@sbilque) - Перевод на PowerShell
  • Brad Olson (brado@movedbylight.com) - Исходная работа на Python

Лицензия

Этот проект лицензируется под GNU General Public License v3.0.

См. LICENSE, чтобы увидеть полный текст.

О проекте

Adds or removes SSH authorized keys for particular user accounts on Windows-based systems.

Установить
ansible-galaxy install informatique-cdc/ansible-role-win_authorized_key
Лицензия
gpl-3.0
Загрузки
4846
Владелец
Informatique CDC, subsidiary of Group Caisse des Dépôts is a key player in IT services and digital trust.