Установка OpenSSH-сервера на Windows 10

29.12.2019

Теги: CLISSHWindowsКомандаКонфигурацияНастройкаСервер

Клиент OpenSSH и сервер OpenSSH являются отдельными устанавливаемыми компонентами в Windows Server 2019 и Windows 10 1809. Чтобы установить сервер, открываем последовательно Параметры → Приложения → Приложения и возможности → Дополнительные возможности → Добавить компонент. Находим в списке компонент «Cервер OpenSSH» и нажимаем кнопку «Установить».

Установка сервера OpenSSH создаст и включит правило брандмауэра, которое разрешает входящий трафик SSH через порт 22.

Запускаем службу, при необходимости в Свойствах устанавливаем Автозапуск:

Проверяем подключение по ssh с другого компьютера:

$ ssh Evgeniy@192.168.110.2
The authenticity of host '192.168.110.2 (192.168.110.2)' can't be established.
ECDSA key fingerprint is SHA256:SUosMa1VPeeaxU0Uyo5nG0EKkVEifMWYshHqRGIiz7I.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.110.2' (ECDSA) to the list of known hosts.
Evgeniy@192.168.110.2's password: пароль

По умолчанию для сервера OpenSSH в ОС Windows используется командная оболочка Windows.

Настройка сервера OpenSSH

Компоненты OpenSSH хранятся в следующих каталогах:

  • Исполняемые файлы OpenSSH: C:\Windows\System32\OpenSSH\
  • Конфигурационный файл sshd_config: C:\ProgramData\ssh\
  • Журнал OpenSSH: C:\ProgramData\ssh\logs\sshd.log
  • Файл authorized_keys и ключи: ~\.ssh\
  • При установке в системе создается новый пользователь sshd

Следующие директивы в sshd_config разрешают доступ по ключам и по паролю:

# разрешает доступ по ключам
PubkeyAuthentication yes
# разрешает доступ по паролю
PasswordAuthentication yes
# доступ с пустым паролем запрещен
PermitEmptyPasswords no

Можно изменить порт, на котором принимает подключения OpenSSH сервер:

Port 2222

После любых изменений в конфигурационном файле нужно перезапустить службу. Если был изменен порт — нужно еще изменить правило брандмауэра.

Установка с использованием PowerShell

Запускаем PowerShell от имени администратора. Проверяем, что OpenSSH сервер и клиент доступны для установки:

> Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'

Name  : OpenSSH.Client~~~~0.0.1.0
State : Installed

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

Клиент уже был установлен ранее, а сервер — еще нет. Запускаем установку сервера:

> Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

Если клиент еще не установлен, установить его можно так:

> Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

Запустить, остановить или перезапустить службу:

> Start-Service sshd
> Stop-Service sshd
> Restart-Service sshd

Изменить тип запуска службы на Автоматический:

> Set-Service -Name sshd -StartupType 'Automatic'

Для удаления OpenSSH сервера и клиента:

> Remove-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
> Remove-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

Поиск: CLI • SSH • Windows • Команда • Конфигурация • Настройка • Сервер

Каталог оборудования
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Производители
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Функциональные группы
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.