opened image

Как поднять OpenSSH на Windows 2022

SSH — ключевой инструмент для управления серверами. Чтобы установить его на Windows Server 2022, используйте OpenSSH. Вот как это сделать.

 

Загрузка OpenSSH: перейдите на https://github.com/PowerShell/Win32-OpenSSH/releases/download/v9.5.0.0p1-Beta/OpenSSH-Win64.zip, чтобы скачать актуальную версию

 

OpenSSH для Windows. На момент написания этой инструкции последняя версия — v9.5.0.0p1-Beta, доступная в архиве OpenSSH-Win64.zip.

 

 

Распаковка и установка: Вы можете распаковать скачанный архив в заранее созданную директорию, например, C:\Program Files\OpenSSH. Это позволит организовать файлы OpenSSH в одном месте.

 


Для альтернативного способа запустите PowerShell с правами администратора и выполните команды, указанные ниже, чтобы установить OpenSSH:

 

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

$installDir = "C:\Program Files\OpenSSH"

if (-not (Test-Path $installDir)) {
    mkdir $installDir
}

cd $installDir

$downloadLink = "https://github.com/PowerShell/Win32-OpenSSH/releases/download/v9.5.0.0p1-Beta/OpenSSH-Win64.zip"
Invoke-WebRequest -Uri $downloadLink -OutFile .\openssh.zip
Expand-Archive .\openssh.zip -DestinationPath $installDir

Move-Item "C:\Program Files\OpenSSH\OpenSSH-Win64\*" "C:\Program Files\OpenSSH\"
Remove-Item "C:\Program Files\OpenSSH\OpenSSH-Win64" -Force -Recurse
Remove-Item .\openssh.zip

 

Чтобы настроить и запустить OpenSSH на Windows Server 2022, выполните следующие шаги:

Установка службы: После распаковки содержимого архива в папку, например, C:\Program Files\OpenSSH, добавьте путь к этой директории в переменную окружения PATH:

 

setx PATH "$env:path;C:\Program Files\OpenSSH\" -m

 

 

Затем установите службу sshd с помощью следующей команды в PowerShell, запущенном от имени администратора:

 

powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1

 

 

Настройка сетевого доступа: OpenSSH по умолчанию использует порт TCP 22. Чтобы разрешить входящие SSH-соединения, добавьте правило в брандмауэр Windows:

 

New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName "SSH"

 

 

 

Можно сделать это через графический интерфейс в "Windows Firewall with Advanced Security".
 

Запуск службы OpenSSH: Откройте диспетчер служб (services.msc), найдите службу "OpenSSH SSH Server", установите автоматический запуск и включите её.

 

 

 

 

Проверка: Убедитесь, что порт 22 слушает входящие соединения, используя команду:
 

netstat -a | findstr "22"

 

 

Если видите порт 22 в списке, значит, служба запущена и работает. В данном случае служба работает на 22222 порту.

 

Тестирование соединения: Используйте SSH-клиент, например, PuTTY, чтобы подключиться к серверу по его IP-адресу и порту 22222. Если соединение успешно, SSH работает корректно.

 

Безопасность соединения через OpenSSH

 

Безопасность — это главный приоритет при использовании SSH. Вот несколько рекомендаций для повышения безопасности:

Ограничение входящих соединений: используйте брандмауэр Windows для ограничения входящих SSH-соединений только с доверенных IP-адресов или диапазонов. Например, чтобы разрешить соединения только с определенного IP, используйте команду:

 

New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -RemoteAddress "192.168.1.1" -DisplayName "SSH - Specific IP"


Это гарантирует, что только разрешенные IP-адреса могут подключаться к вашему серверу.

 

Использование двухфакторной аутентификации (2FA): для дополнительного уровня защиты рассмотрите возможность использования двухфакторной аутентификации. Вы можете установить дополнительные инструменты, чтобы потребовать от пользователей подтверждение через приложение или физическое устройство.


Ограничение времени сеанса: чтобы предотвратить длительные незавершенные соединения, настройте OpenSSH для ограничения времени сеанса. Это можно сделать, добавив в конфигурацию OpenSSH следующие строки:

 

ClientAliveInterval 300
ClientAliveCountMax 2

 


Это ограничивает время ожидания от клиента и завершает соединение после определенного времени простоя.

 

Блокировка аутентификации паролем: рекомендуется полностью отключить аутентификацию паролем, чтобы использовать только аутентификацию по ключам. В файле sshd_config добавьте или измените следующую строку:

 

PasswordAuthentication no

 


Это позволит избежать уязвимостей, связанных с использованием паролей.

 

 

Мониторинг активности OpenSSH

 

Для безопасности также важно отслеживать активность SSH. Используйте системные инструменты для мониторинга журнала событий и отслеживания попыток несанкционированного доступа:

 

  • Журналы событий: регулярно просматривайте журналы OpenSSH, чтобы выявлять аномалии или несанкционированные попытки подключения.
  • Уведомления о событиях: настройте систему уведомлений, чтобы получать оповещения в случае подозрительной активности или попыток взлома.

 

Эти шаги помогут вам обеспечить более безопасное и стабильное использование OpenSSH на Windows Server 2022.  

 

Дополнительная настройка: Для повышения безопасности используйте аутентификацию по ключам. Это позволит подключаться к серверу без ввода пароля и повысит безопасность.
Установив OpenSSH на Windows Server 2022, вы сможете безопасно управлять своим сервером удаленно.