Обзор
В этой статье подробно описано, как установить и настроить OpenSSH Server на Windows Server: от установки и запуска службы до настройки аутентификации по ключу и правил брандмауэра.
Переменные
| Переменная | Пример | Примечание |
|---|---|---|
<<SERVER>> |
192.168.1.10 |
Имя хоста или IP-адрес удалённого сервера |
Шаг 1. Установка OpenSSH Server
Откройте PowerShell от имени администратора и выполните следующую команду:
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Шаг 2. Запуск службы и настройка автозапуска
После установки запустите службу sshd и включите её автозапуск:
Start-Service sshd
Set-Service -Name sshd -StartupType Automatic
💡 Примечание
При первом запуске службаsshdавтоматически создаёт конфигурационные файлы и хост-ключи:
%ProgramData%\ssh\sshd_config— основной файл конфигурации%ProgramData%\ssh\ssh_host_*— набор ключей хостаИзменения вносите только после их создания.
Шаг 3. Настройка брандмауэра
Чтобы разрешить подключения по SSH (порт 22), создайте правило брандмауэра:
New-NetFirewallRule -Name "OpenSSH-Server" -DisplayName "OpenSSH Server (sshd)" `
-Enabled True -Direction Inbound -Protocol TCP -LocalPort 22 -Action Allow
Шаг 4. Настройка аутентификации по ключу (рекомендуется)
-
Добавьте публичный ключ в
authorized_keys:- Для обычного пользователя:
C:\Users\<имя>\.ssh\authorized_keys - Для администратора:
%ProgramData%\ssh\administrators_authorized_keys
- Для обычного пользователя:
-
Откройте файл
%ProgramData%\ssh\sshd_configи убедитесь, что указаны следующие параметры:PubkeyAuthentication yes AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
Шаг 5. Первое подключение и проверка
Подключитесь с клиента:
ssh Administrator@<<SERVER>>
При первом соединении подтвердите ключ хоста. После входа выполните:
whoami
Убедитесь, что вы вошли под нужным пользователем.
Шаг 6. Ограничения и усиление безопасности
Рекомендуемые параметры в sshd_config:
Port 2222
AllowGroups SSHAdmins
AllowUsers Administrator deployuser
PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yes
- Port 2222 — изменение стандартного порта снижает вероятность автоматических атак.
- AllowGroups SSHAdmins — ограничивает группу пользователей, имеющих право подключаться.
- AllowUsers — задаёт разрешённые учётные записи.
- PasswordAuthentication no — отключает вход по паролю, оставляя только ключевую аутентификацию.
- KbdInteractiveAuthentication no — блокирует интерактивную авторизацию.
- PubkeyAuthentication yes — активирует безопасный вход по ключу.
⚠️ Важно
В Windows Server 2025 и новее по умолчанию действуют ограничения по группам доступа.
Убедитесь, что группы и пользователи (SSHAdmins,deployuser) созданы и имеют минимально необходимые права.
Шаг 7. Просмотр журналов
Для просмотра последних событий OpenSSH выполните:
Get-WinEvent -LogName OpenSSH/Operational `
| Where-Object { $_.TimeCreated -ge (Get-Date).AddHours(-1) } `
| Select-Object TimeCreated, Id, LevelDisplayName, Message
Чтобы узнать доступные журналы:
wevtutil el | findstr OpenSSH
Укажите найденное имя в параметре -LogName.
Заключение
Настройка SSH-сервера на Windows Server позволяет использовать безопасное управление системой, аналогичное Linux-средам.
При правильной конфигурации служб, ключей и брандмауэра вы получите надёжную и безопасную инфраструктуру для удалённого администрирования.
