Не многие знают, что как Windows 10 Fall Creators Update, так и Windows Server 1709 имеют 2 очень интересные Feature-on-Demand
.
А именно OpenSSH Client и OpenSSH Server.
Для их установки (через UI) откройте Парамерты
-> Приложения
-> Управление дополнительным компонентами
-> Добавить компонент
и выберите OpenSSH Client
и/или OpenSSH Server
. С сервером сложнее. Здесь нет UI. Однако эту операцию можно выполнить с помощью PowerShell
. Убедимся что фичи доступны:
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
В результате мы должны увидеть что-то такое:
Name : OpenSSH.Client~~~~0.0.1.0
State : NotPresent
Name : OpenSSH.Server~~~~0.0.1.0
State : NotPresent
Для установки клиента или сервера используйте следующие команды:
# Install the OpenSSH Client
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
# Install the OpenSSH Server
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Обе должны вернуть такой результат:
Path :
Online : True
RestartNeeded : False
Отлично! SSH установлен.
Настройка OpenSSH Server (sshd)
Для включения аутентификации на SSH сервере на Windows, вы должны сгенерировать ключ хоста. Запускаем PowerShell от имени администратора и делаем следующее:
Start-Service ssh-agent
cd C:\Windows\System32\OpenSSH
.\ssh-keygen -A
.\ssh-add ssh_host_***что-то там***_key
Install-Module -Force OpenSSHUtils
Repair-SshdHostKeyPermission -FilePath C:\Windows\System32\OpenSSH\ssh_host_***что-то там***_key
Теперь мы можем запустить SSH Server сервис.
Start-Service sshd
# This should return a Status of Running
Get-Service sshd
Осталось открыть порт 22/tcp:
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' \
-Service sshd -Enabled True -Direction Inbound -Protocol TCP \
-Action Allow -Profile Domain
Всё! OpenSSH на Windows готов принимать подключения. Однако помните, что это всё еще beta
. Поэтому будьте осторожны.