Как установить и настроить SSH-сервер на Windows Server

Обзор

В этой статье подробно описано, как установить и настроить 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. Настройка аутентификации по ключу (рекомендуется)

  1. Инструкции по созданию SSH-ключей на клиенте

  2. Добавьте публичный ключ в authorized_keys:

    • Для обычного пользователя: C:\Users\<имя>\.ssh\authorized_keys
    • Для администратора: %ProgramData%\ssh\administrators_authorized_keys
  3. Откройте файл %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-средам.
При правильной конфигурации служб, ключей и брандмауэра вы получите надёжную и безопасную инфраструктуру для удалённого администрирования.