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_shared_admin_pubkeys: Строка или список строк для добавления в файл ключей administrators_authorized_keys.
  • 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 gamethis/ansible-role-win_openssh
Лицензия
mit
Загрузки
21212
Владелец
Automation is a lifestyle