Как настроить SSH сервер на Windows
Использование защищённого SSH-протокола для удалённых сетевых подключений гарантирует высокий уровень безопасности передачи данных. Это средство давно уже стало повседневным рабочим инструментом для всех UNIX-подобных систем, однако для ОС Windows протокол стал применяться сравнительно недавно с выходом последних её версий. Рассмотрим предварительные условия и способы установки и настройки SSH в Windows, опираясь на информацию, представленную в документации по использованию OpenSSH от разработчиков.
Что такое OpenSSH
Это «свободный» аналог SSH-протокола от разработчиков OpenBSD Project (лицензия ISC). Он обеспечивает создание защищённого сеанса связи по SSH между двумя удалёнными хостами под управлением UNIX-подобных ОС. При этом шифруется абсолютно весь трафик, исключая возможность внешнего подключения к сеансу и потери передаваемых данных. На сегодняшний день это лучшее решение для удалённых подключений.
OpenSSH имеет клиент-серверную архитектуру, требующую установки сервера (sshd) и клиента (ssh) на соединяемые машины.
С некоторых пор OpenSSH стало поддерживаться в Windows. Это стало возможным благодаря созданию линейки переносимых «portable» релизов проекта Win32-OpenSSH, которые выпускаются параллельно с основной веткой программы для OpenBSD. Скачать релизы можно с репозитория проекта Win32-OpenSSH и установить, к примеру, на VPS-сервер под управлением Windows.
Win32-OpenSSH поддерживает аутентификацию, как на основе пароля, так и ключей. Поддерживаются учётные записи на уровне рабочей группы и домена. В последнем случае доменное имя должно присутствовать в имени пользователя системы.
В Таблице 1 приведены данные по поддержке протокола для конкретных версий ОС.
Таблица 1. Информация о поддержке OpenSSH.
Релиз |
Поддержка SSH |
Windows XP, 7, 8 |
Не поддерживается |
Windows 10 сборка 1809 + |
Поддерживается, требуется установка и включение |
Windows Server |
Поддерживается, требуется установка и включение |
Windows Server 2025 |
Установлен, но требуется включение |
OpenSSH имеет следующие встроенные средства управления:
- Ssh – клиент, который должен быть установлен на машине пользователя;
- Sshd – SSH-сервер или даэмон – должен быть запущен на удалённой машине;
- Ssh-keygen – необходим для генерации и управления ключами аутентификации;
- Ssh-agent – используется для хранения закрытых ключей;
- Ssh-add – позволяет добавить закрытый ключ в общий список;
- Ssh-keyscan – служит для сбора публичных ключей с хостов;
- Sftp – протокол безопасной передачи файлов через SSH;
- Scp – обеспечивает копирование файлов по SSH.
Зачем нужен PowerShell
PowerShell является расширяемым интерпретатором команд для Windows, созданным на базе .NET архитектуры, который позволяет автоматизировать процессы администрирования как локальных, так и удалённых систем. Для этого предусмотрены наборы собственных команд или командлетов, являющихся .NET-классами, которые могут использоваться в сценариях наравне с обычными классами, COM-объектами и утилитами оболочки.
Программа может обращаться к содержимому реестра Windows, файловой системы, а также встраивать исполняемые компоненты в другие приложения Windows.
Установить PowerShell в среде Windows можно несколькими способами. Приведём их здесь:
- С помощью диспетчера пакетов WinGet – способ предпочтителен для развёртывания на клиентах;
- С использованием MSI-пакетов – наиболее подходит для использования в корпоративных сетях;
- Загрузка ZIP-архива – рекомендуем для Windows Nano Server, IoT и Arm-систем;
- Инструментарий .NET – подходит для DevOps-специалистов, работающих с .NET платформами;
- Microsoft Store – наиболее простой способ установки, но с некоторыми ограничениями.
LTS-версию программы можно найти по этому адресу.
Установка и настройка OpenSSH на устройствах Windows
Предварительные условия и их проверка
Перед началом установки необходимо убедиться в соответствии вашей системы следующим требованиям:
- Версия ОС и / или её сборка должны соответствовать значениям, указанным в Таблице 1;
- На машине должен быть установлен PowerShell версии 5.1 или выше;
- Доступ к учётной записи, входящей в группу администраторов.
Для проведения проверки необходимо запустить PowerShell с правами администратора и в командной строке выполнить ряд последовательных шагов:
- Получить информацию о версии ОС с помощью команды winver.exe;
- Узнать версию PowerShell с помощью команды $PSVersionTable.PSVersion;
- Для проверки принадлежности пользователя к группе администраторов ввести: (New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent())).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator).
В случае если выходом команды будет значение True, значит всё в порядке – вы
имеете нужные полномочия.
Если результаты проверки позитивные, можно переходить к установке и настройке протокола.
Настройка OpenSSH на Windows Server и Windows 10
- Выбрать в системном меню следующую команду: Пуск > Настройка > Система > Дополнительные функции;
- В верхней части окна нажать кнопку Добавить функцию и в появившемся списке поочерёдно выбрать компоненты OpenSSH Client и OpenSSH Server с нажатием кнопки Установить после каждого выбора;
- Нажатием клавиш Win+R вызвать строку поиска, где ввести: services.msc, после чего выбрать приложение Службы и подтвердить свой выбор клавишей ввода;
- В открывшемся окне приложения дважды кликнуть по названию OpenSSH SSH Server;
- Выбрать на вкладке Общие пункт меню Тип запуска, для которого установить опцию Автоматически;
- Для запуска сервиса кликнуть по кнопке Запустить.
Установка и включение OpenSSH Server инициирует включение правила файрвола для разрешения по SSH входящего трафика на 22-й порт.
Включение OpenSSH на Windows Server 2025
На ОС этой версии компонент установлен по умолчанию, поэтому его дополнительная установка не требуется. Остаётся лишь включить SSHD-сервис при помощи диспетчера серверов. Для этого нужно выполнить следующие шаги:
- Выбрать в левой части окна диспетчера объект Локальный сервер;
- В свойствах выбранного объекта найти параметр Удаленный доступ по SSH;
- Изменить значение параметра с Отключено на Включено с помощью мыши.
Проверка работы OpenSSH на Windows
Для проверки работоспособности защищённого канала достаточно выполнить контрольное подключение к OpenSSH Server с ПК или смартфона на Windows, на которых уже развёрнут OpenSSH-клиент. Для этого в открытом сеансе оболочки PowerShell следует ввести:
ssh domain\username@servername
Где username и servername – имена пользователя и сервера удалённой машины.
Вывод команды должен быть примерно таким:
The authenticity of host 'servername (10.01.03.005)' can't be established.ECDSA key fingerprint is SHA256:(<a large string>).Are you sure you want to continue connecting (yes/no)?
Здесь ваша система (клиентская) делает запрос на добавление нового сервера в список разрешённых хостов. В случае подтверждения, сервер будет добавлен в список и больше этот запрос выводиться не будет.
На следующем шаге диалога будет запрашиваться пароль входа, и в случае его совпадения устанавливается соединение с удалённой машиной (сервером). При этом вид строки терминала будет таким:
domain\username@SERVERNAME C:\Users\username>
После того, как работоспособность соединения была проверена, можно переходить к повышению уровня безопасной работы, например, путём настройки системы аутентификации с помощью ключей, что, как уже говорилось, поддерживается в Win32-OpenSSH, однако эта тема выходит за рамки нашей статьи.