SSH сервер и клиент в Windows 10 и Windows Server 1709 из коробки

Windows Server 2016 SSH Windows 10

Не многие знают, что как 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. Поэтому будьте осторожны.