Всем привет.
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.
Должно быть вы уже в курсе что 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
А что вы думаете по этому поводу?