Установка
Для работы с удаленными папками на windows сервере по ssh из VSCode плагином Remote-SSH на стороне windows сервера требуется служба ssh-сервера. Давайте его установим.
- Скачиваем последнюю версию дистрибутива OpenSSH
Сейчас доступна версия v8.0.0.0p1-Beta. Скачиваем OpenSSH-Win64.zip
.
- Создаем каталог C:\Program Files\OpenSSH и распаковываем в неё содержимое архива.
- Запускаем powershell от имени администратора.
- Выполняем скрипт установки:
cd "\Program Files\OpenSSH"
.\install-sshd.ps1
sshd and ssh-agent services successfully installed
Если произошла ошибка политики безопасности, то можно выполнить установку так:
powershell -ExecutionPolicy Bypass -File .\install-sshd.ps1
- Генерируем серверные ключи:
.\ssh-keygen.exe -A
Если при этом появляется ошибка
Нужно в папке C:\ProgramData
создать вручную директорию ssh
- Снова пытаемся сгенерировать серверные ключи:
.\ssh-keygen.exe -A
На этот раз процедура выполняется успешно.
- Настраиваем владельца и права доступа на файлы ключей и каталоги сервера :
PowerShell -ExecutionPolicy Bypass -File .\FixHostFilePermissions.ps1
На каждый вопрос отвечаем “A”.
- Открываем 22 порт
OpenSSH работает по порту TCP 22. Откроем доступ в Firewall:
New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName SSH
Эта команда сработает на Windows Server 12 и моложе. На более старых серверах порт можно открыть через GUI в оснастке Windows Firewall with Advanced Security
.
- Запуск службы OpenSSH
Открываем список служб:
services.msc
Находим службу “OpenSSH SSH Server”. В свойствах службы устанавливаем автоматический запуск и запускаем её.
Проверим что 22 порт работает:
netstat -tan | find "22"
22 порт слушается.
- Проверка OpenSSH
Проверим с помощью WinSCP. Для доменного пользователя используется логин вида domain\username.
При первом входе появится окно:
Yes.
Установка завершена.