Главная

Friday, 3 April 2020

OpenSSH Server в Windows 10.

Всем привет.

Должно быть вы уже в курсе  что Windows 10  имеет фишки из серии Feature-on-Demand, а именно OpenSSH Client и OpenSSH Server.

Для их установки (через UI) нужно открыть Парамерты -> Приложения -> Управление дополнительным компонентами -> Добавить компонент и выберите OpenSSH Client и/или OpenSSH Server. Как быть с клиентом я уже рассказывал. С сервером сложнее. Здесь нет UI. Однако эту операцию можно выполнить с помощью PowerShell. Убедимся что фичи (не)доступны:

Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
В результате мы должны увидеть что-то такое:

Name  : OpenSSH.Server~~~~0.0.1.0
State : NotPresent

Для установки сервера используйте следующую команду:

# Install the OpenSSH Server
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

Команда должна вернуть такой результат:

Path          :
Online        : True
RestartNeeded : False
Отлично! SSH установлен.



Но можете получить ошибку с кодом 0x800f0954. Тогда вам надо будет кое-что поправить в полиси вашей ОС gpedit.msc.


И повторить установку.

Для включения аутентификации на SSH сервере на Windows, вы должны сгенерировать ключ хоста. Запускаем PowerShell от имени администратора и делаем следующее:

Start-Service ssh-agent

cd C:\Windows\System32\OpenSSH
.\ssh-keygen -A
.\ssh-add ssh_host_***что-то там с Program Data***_key

Install-Module -Force OpenSSHUtils
Repair-SshdHostKeyPermission -FilePath C:\Windows\System32\OpenSSH\ssh_host_***что-то там***_key

Конфиг-файл ssh-сервера и ключи находятся в C:\ProgramData\ssh\.

Теперь мы можем запустить 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

Все. Ваша ОС принимает подключения:
ssh user@MyPC -p 22.

No comments:

Post a Comment

А что вы думаете по этому поводу?