win_openssh

Ansible Роль win_openssh

win_openssh Ansible Galaxy Role

Устанавливает Win32-OpenSSH на Windows хост.

Примечание: Эта роль была протестирована на Win32-OpenSSH v7.7.2.0p1-Beta, более новые версии должны работать, но это не гарантируется.

По умолчанию эта роль будет:

  • Устанавливать Win32-OpenSSH в C:\Program Files\OpenSSH, основываясь на последнем релизе, доступном на GitHub
  • Настраивать службы sshd и ssh-agent и устанавливать их на автоматический запуск
  • Создавать правило брандмауэра, которое разрешает входящий трафик на порту 22 для профилей сетей domain и private
  • Настраивать файл sshd_config для разрешения аутентификации по открытым ключам и паролям

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

  • Указать конкретную версию для загрузки с GitHub или другой URL, который указывает на zip файл
  • Указать, где установить бинарные файлы
  • Контролировать, нужно ли настраивать службы SSH сервера
  • Контролировать, нужно ли устанавливать службы SSH на автоматический запуск
  • Определить профили брандмауэра для разрешения входящего SSH трафика
  • Указать порт и другие значения sshd_config
  • Добавить открытые ключи в профиль текущего пользователя

Требования

  • Windows Server 2008 R2+

Переменные

Обязательные переменные

Нет, эта роль будет работать с настройками по умолчанию.

Дополнительные переменные

  • opt_openssh_architecture: Архитектура Windows, должна быть установлена на 32 или 64 (по умолчанию: 64).
  • opt_openssh_firewall_profiles: Профили брандмауэра для разрешения входящего SSH трафика (по умолчанию: domain,private).
  • opt_openssh_install_path: Директория для установки бинарных файлов OpenSSH (по умолчанию: C:\Program Files\OpenSSH).
  • opt_openssh_pubkeys: Либо строка, либо список строк для добавления в файл authorized_keys пользователя, по умолчанию ключи не добавляются. Если opt_openssh_shared_admin_key установлено в True, эти ключи не повлияют на аутентификацию для любых администраторов.
  • opt_openssh_setup_service: Нужно ли устанавливать компоненты службы sshd или просто оставить исполняемые файлы клиента (по умолчанию: True).
  • opt_openssh_skip_start: Не запускать службы sshd и ssh-agent, а также не устанавливать на автоматический запуск (по умолчанию: False).
  • opt_openssh_temp_path: Временная директория для загрузки zip файла и извлеченных файлов (по умолчанию: C:\Windows\TEMP).
  • opt_openssh_url: Указывает место загрузки zip файла OpenSSH, если пропущено, то будет загружено из репозитория GitHub.
  • opt_openssh_version: Устанавливает конкретную версию для загрузки с GitHub, это актуально только если opt_openssh_url не установлен (по умолчанию: latest).
  • opt_openssh_zip_file: Путь к zip файлу релиза OpenSSH, который будет использоваться для установки OpenSSH. Будет использоваться вместо opt_openssh_url, если определено, и opt_openssh_zip_remote_src контролирует, является ли путь локальным для контроллера или локальным для Windows хоста.
  • opt_openssh_zip_remote_src: (по умолчанию: False)

Вы также можете настроить следующие значения sshd_config:

  • opt_openssh_port: Соответствует Port, порт, на котором служба SSH будет слушать (по умолчанию: 22).
  • opt_openssh_pubkey_auth: Соответствует PubkeyAuthentication, разрешает ли служба SSH аутентификацию с помощью SSH ключей (по умолчанию: True).
  • opt_openssh_password_auth: Соответствует PasswordAuthentication, разрешает ли служба SSH аутентификацию с помощью паролей (по умолчанию: True).
  • opt_openssh_shared_admin_key: Установите в True, чтобы администраторы использовали общий ключ авторизации по пути __PROGRAMDATA__/ssh/administrators_authorized_keys. Установите в False, чтобы гарантировать, что используется %USER_PROFILE%\.ssh\authorized_keys для всех пользователей (по умолчанию: False).

Вы можете настроить опции оболочки для контроля того, как служба sshd запускает новую оболочку:

  • opt_openssh_default_shell: Переопределите оболочку по умолчанию, установленную установкой OpenSSH. Это должен быть абсолютный путь к исполняемому файлу, который вы хотите запустить при запуске SSH сессии.
  • opt_openssh_default_shell_command_option: Установите аргументы, используемые при вызове оболочки, это не следует изменять в обычных случаях.
  • opt_openssh_default_shell_escape_args: Пропустите автоматическую экранирующую обработку аргументов при вызове оболочки.
  • opt_openssh_powershell_subsystem: Установите подсистему для удаленного доступа PowerShell, путь должен быть в формате 8.3, например: C:\PROGRA~1\POWERS~1\7\pwsh.exe (по умолчанию: undefined)

Выходные переменные

Нет

Зависимости роли

Нет

Пример плейбука

- имя: установить Win32-OpenSSH с настройками по умолчанию
  хосты: windows
  собрать_факты: нет
  роли:
  - jborean93.win_openssh

- имя: установить конкретную версию Win32-OpenSSH в пользовательскую папку
  хосты: windows
  собрать_факты: нет
  роли:
  - роль: jborean93.win_openssh
    opt_openssh_install_path: C:\OpenSSH
    opt_openssh_version: v7.7.2.0p1-Beta

- имя: установить только клиентские компоненты Win32-OpenSSH
  хосты: windows
  собрать_факты: нет
  роли:
  - роль: jborean93.win_openssh
    opt_openssh_setup_service: False

Тестирование

Чтобы протестировать эту роль, перейдите в папку tests и выполните vagrant up. Это запустит хост Windows Server 2019 для тестирования роли. Если хост уже работает, выполнение vagrant provision повторно запустит тесты.

Задания

Нет - предложения по новым функциям приветствуются.

О проекте

Install Win32-OpenSSH on a Windows host

Установить
ansible-galaxy install jborean93/ansible-role-win_openssh
Лицензия
mit
Загрузки
258191
Владелец