Установка, тестирование и удаление SFTP сервера в Windows на базе OpenSSH

Пошаговая инструкция

Для начала нужно скачать и установить OpenSSH с GitHub:

https://github.com/PowerShell/Win32-OpenSSH/releases

Скачиваем архив: OpenSSH-Win64.zip

1) Распаковываем содержимое архива в целевой каталог, к примеру: "C:\Windows"

2) Открыть свойства системы (WIN+R, команда "sysdm.cpl") -> Дополнительно -> Переменные среды
В открывшемся окне есть две секции: в верхней содержатся переменные окружения пользователя, в нижнем – системные.
В системных переменных выбираем переменную "Path", нажимаем на "Изменить..."

3) В открывшемся окне, жмём на "Создать" и вводим путь к каталогу OpenSSH из шага 1, в нашем примере: "C:\Windows\OpenSSH-Win64"

4) Запускаем "PowerShell" от имени Администратора:
Пуск, вводим "PowerShell"→ Правой кнопкой мышки на "PowerShell" → Запустить от имени администратора

5) Переходим в каталог с OpenSSH, в нашем примере: "C:\Windows\OpenSSH-Win64"

cd C:\Windows\OpenSSH-Win64

Устанавливаем сервер OpenSSH:
(должно появиться зеленое сообщение “sshd and ssh-agent services successfully installed”);

.\Install-sshd.ps1

Включаем автозапуск для службы SSHD:

Set-Service -Name sshd -StartupType ‘Automatic’

Отроем в брандмауэре Windows порт TCP 22 для входящего трафика на SSH сервер:

New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName SSH

Настраиваем владельца файлов и права доступа: (На каждый вопрос отвечаем "Y")

.\FixHostFilePermissions.ps1

6) Открываем список служб (WIN+R, команда "services.msc") -> Двойной клик на "OpenSSH SSH Server" → Ставим тип запуска: "Автоматически", нажимаем на "Запустить" → OK

Проверяем SFTP подключение с помощью WinSCP

Скачиваем и запускаем свободный клиент WinSCP.
В окне настройки подключения выберите протокол передачи файлов SFTP, укажите имя сервера и данные учетной записи Windows, под которой осуществляется подключение

Если все настроено правильно, клиент должен подключиться к SFTP серверу и отобразить список файлов в домашнем каталоге пользователя (по умолчанию каталог с профилем пользователя).

С помощью привычного интерфейса файлового менеджера можно безопасно копировать файлы между сервером и клиентом. Передача файлов будет осуществляться по защищённому протоколу SFTP.

Удаление службы Win32 OpenSSH

Чтобы корректно удалить службу Win32 OpenSSH из системы:

1) Запускаем "PowerShell" от имени Администратора:
Пуск, вводим "PowerShell"→ Правой кнопкой мышки на "PowerShell" → Запустить от имени администратора

2) Переходим в каталог с OpenSSH, в нашем примере: "C:\Windows\OpenSSH-Win64"

cd C:\Windows\OpenSSH-Win64

3) Останавливаем службу SSHD:

Stop-Service sshd

4) Удалим службу OpenSSD:

.\uninstall-sshd.ps1