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, вы сможете безопасно управлять своим сервером удаленно.