Як налаштувати 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; Scp - забезпечує копіювання
Навіщо потрібен 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-Objec)
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, однак ця тема виходить за рамки нашої статті.