win_openssh
Ansible Роль win_openssh
Устанавливает 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
повторно запустит тесты.
Задания
Нет - предложения по новым функциям приветствуются.
ansible-galaxy install jborean93/ansible-role-win_openssh