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_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
повторно запустит тесты.
Бэклог
Нет - запросы на функции приветствуются
ansible-galaxy install gamethis/ansible-role-win_openssh