Установка и настройка OpenSSH Server в Windows
| Подробности урока | |
|---|---|
| Уровень сложности | Лёгкий |
| Права администратора | Требуются |
| Требования | Командная строка |
| Категория | Установка ПО |
| Совместимость с ОС | Windows |
| Примерное время чтения | 15 мин |
Введение
По умолчанию управление Windows Server чаще всего осуществляется через RDP. Однако во многих случаях гораздо удобнее использовать SSH: подключение занимает меньше времени, позволяет автоматизировать администрирование и не требует запуска графического интерфейса.
Начиная с Windows Server 2019 и Windows 10 версии 1809, OpenSSH Server входит в состав операционной системы и может быть установлен как дополнительный компонент.
После настройки вы сможете:
-
подключаться к серверу по SSH;
-
выполнять команды PowerShell и CMD;
-
передавать файлы через SCP и SFTP;
-
использовать SSH-ключи вместо паролей;
-
автоматизировать администрирование с помощью скриптов.
Инструкция
Проверка наличия OpenSSH
Откройте PowerShell от имени администратора и выполните:
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
Если OpenSSH уже установлен, вы увидите примерно такой результат:
Установка OpenSSH Server
Если сервер еще не установлен, выполните команду:
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
После завершения установки проверьте состояние службы:
Get-Service sshd
Запуск службы
Запустите SSH-сервер:
Start-Service sshd
Чтобы служба запускалась автоматически после перезагрузки:
Set-Service -Name sshd -StartupType Automatic
Проверить состояние можно командой:
Get-Service sshd
Если все прошло успешно, статус будет:
Проверка брандмауэра
Во время установки обычно автоматически создается правило Windows Firewall.
Проверить его наличие можно так:
Get-NetFirewallRule -Name *ssh*
Если правило отсутствует, создайте его:
New-NetFirewallRule `
-Name "OpenSSH-Server" `
-DisplayName "OpenSSH Server" `
-Enabled True `
-Direction Inbound `
-Protocol TCP `
-Action Allow `
-LocalPort 22
Проверка прослушивания порта
Убедитесь, что сервер слушает порт 22:
netstat -ano | findstr :22
или
Get-NetTCPConnection -LocalPort 22
Подключение к серверу
С Linux или macOS:
ssh Administrator@IP_СЕРВЕРА
Из Windows (PowerShell):
ssh Administrator@IP_СЕРВЕРА
При первом подключении появится запрос подтверждения ключа сервера:
Are you sure you want to continue connecting (yes/no)?
Введите:
yes
После этого потребуется ввести пароль пользователя Windows.
Использование ключей SSH
Для повышения безопасности рекомендуется использовать аутентификацию по ключам.
Создайте ключ на клиентском компьютере:
ssh-keygen -t ed25519
Скопируйте публичный ключ на сервер в файл:
C:\Users\Administrator\.ssh\authorized_keys
При необходимости создайте каталог .ssh вручную.
После этого вход можно будет выполнять без ввода пароля.
Передача файлов
Копирование файла на сервер:
scp backup.zip Administrator@IP_СЕРВЕРА:C:\Temp\
Копирование файла с сервера:
scp Administrator@IP_СЕРВЕРА:C:\Logs\app.log .
Выполнение удаленных команд
SSH позволяет выполнять команды без открытия интерактивной консоли.
Например:
ssh Administrator@IP_СЕРВЕРА hostname
или
ssh Administrator@IP_СЕРВЕРА "Get-Service"
Это удобно для автоматизации и написания скриптов.
Полезные команды PowerShell
Запуск из терминала:
powershell
Перезапуск службы:
Restart-Service W3SVC
Просмотр процессов:
Get-Process
Перезагрузка сервера:
Restart-Computer
Проверка свободного места:
Get-Volume
Информация о системе:
Get-ComputerInfo
Проверка работы SSH
На клиентском компьютере выполните:
ssh Administrator@IP_СЕРВЕРА
Если отображается приглашение PowerShell, настройка выполнена успешно.
Заключение
OpenSSH значительно упрощает администрирование Windows Server. Он позволяет выполнять большинство задач без использования удаленного рабочего стола, ускоряет работу администратора и открывает возможности для автоматизации с помощью PowerShell, SCP, SFTP и SSH-ключей.
Для большинства повседневных операций, таких как управление службами, настройка системы, работа с файлами и выполнение сценариев, SSH является удобной и безопасной альтернативой RDP.










