- Установка и настройка SFTP сервера (SSH FTP) в Windows на базе OpenSSH
- Особенности протокола SFTP
- Реализация SFTP в системах Windows
- Установка Win32 OpenSSH в Windows 10 1803+/Windows Server 2019
- Установка Win32 OpenSSH на Windows Server 2016/2012 R2
- Тестируем SFTP подключение с помощью WinSCP
- Удаление службы Win32 OpenSSH
- Настройка FTP-сервера в Windows Server 2012
- Виртуальный сервер на базе Windows
- Что это такое?
- Установка FTP-сервера
- Настройка Брандмауэра
- Подключение к FTP-серверу
- Настройка Secure FTP
- Настраиваем FTP-сервер в Windows Server 2012
Установка и настройка SFTP сервера (SSH FTP) в Windows на базе OpenSSH
С помощью официального пакета OpenSSH для Windows вы можете с легкостью организовать безопасный обмен файлами между клиентом и серверов Windows по защищенному протоколу передачи файлов SFTP (Secure FTP). В этой статье мы покажем, как с помощью Win32-OpenSSH установить SFTP сервер на Windows 10 или Windows Server 2016/2012R2.
Особенности протокола SFTP
Протокол SFTP (Secure File Transfer Protocol , Secure FTP или SSH FTP) это расширение протокола SSH, являющимся стандартом мира UNIX/Linux систем. Хотя с точки зрения пользователей он похож на FTP, но на самом деле это абсолютно другой протокол, не имеющий с FTP ничего общего. Данные между клиентом и сервером передаются по порту 22 через SSH туннель.
Основные преимущества протокола SFTP:
- Передача файлов и команд происходит внутри защищенной SSH-сессии;
- Для передачи файлов и команд используется одно соединение;
- Поддержка символических ссылок, функций прерывания, возобновления передачи, удаления файла и пр;
- Как правило, на каналах, где FTP работает медленно или с перебоем, SFTP-соединение работает более надежно и быстро;
- Возможность аутентификации с помощью SSH ключей.
Реализация SFTP в системах Windows
Исторически в операционных системах Windows отсутствуют встроенные средства для организации защищенного SFTP сервера. Для этих целей обычно использовались открытые или коммерческие решения, к примеру, Core FTP, FileZilla, CYGWIN, OpenSSH, FTP Shell, IPSwitch и пр. Однако несколько лет назад Microsoft выпустила свою версию порта OpenSSH для win32. Данный проект называется Win32-OpenSSH.
Рассмотрим процесс настройки SFTP сервера в Windows 10 и Windows Server 2016/2012 R2 с помощью пакета Win32-OpenSSH.
Установка Win32 OpenSSH в Windows 10 1803+/Windows Server 2019
В Windows 10, начиная с билда 1803, и в Windows Server 2019 пакет OpenSSH (как и RSAT) уже включен в операционную систему в виде Feature on Demand (FoD).
В Windows 10 и Windows Server 2019 вы можете установить сервер OpenSSH с помощью командлета PowerShell:
Add-WindowsCapability -Online -Name OpenSSH.Server*
Или с помощью DISM:
dism /Online /Add-Capability /CapabilityName:OpenSSH.Server
Или можно установить OpenSSH из графического интерфейса Windows 10 (Settings -> Apps -> Optional Features -> Add a feature -> Open SSH Server -> Install).
Исполняемые файлы OpenSSH находятся в каталоге:
Конфигурационный файл sshd_config находится в каталоге C:\ProgramData\ssh (каталог создается после первого запуска службы).
Файл authorized_keys и ключи хранятся в каталоге %USERPROFILE%\.ssh\.
Установка Win32 OpenSSH на Windows Server 2016/2012 R2
В предыдущих версиях Windows 10 и в Windows Server 2016/2012 R2 вы должны скачать и установить OpenSSH с GitHub (https://github.com/PowerShell/Win32-OpenSSH/releases). Нам нужна версия для 64 битной версии Windows: OpenSSH-Win64.zip (3,5 Мб).
- Распаковываем содержимое архива в целевой каталог, к примеру: C:\OpenSSH-Win
- Запускаем командную строку PowerShell с правами администратора и переходим в каталог OpenSSH: Cd C:\OpenSSH-Win
- Добавьте путь к каталогу OpenSSH в переменную окружения Path;
- Установите сервер OpenSSH: .\install-sshd.ps1 (должно появиться зеленое сообщение “sshd and ssh-agent services successfully installed”);
- Сгенерируйте SSH ключи для сервера (нужны для запуска службы sshd): ssh-keygen.exe –A
, убедитесь, что создан каталог %programdata%\ssh.
Тестируем SFTP подключение с помощью WinSCP
Попробуем подключиться к поднятому нами SSH серверу по протоколу SFTP. Для этих целей воспользуемся свободным клиентом WinSCP.
В окне настройки подключения выберите протокол передачи файлов SFTP, укажите имя сервера и данные учетной записи Windows, под которой осуществляется подключение (возможно также настроить авторизацию по ключам).При первом подключении появится окно с предупреждением о том, что ключ хоста отсутствует в локальном кеше.
Если все настроено правильно, клиент должен подключиться к SFTP серверу и отобразить список файлов в домашнем каталоге пользователя (по умолчанию каталог с профилем пользователя).
С помощью привычного интерфейса файлового менеджера можно безопасно копировать файлы между сервером и клиентом. Передача файлов будет осуществляться по защищённому протоколу SFTP.
Удаление службы Win32 OpenSSH
Чтобы корректно удалить службу Win32 OpenSSH из системы:
- Откроем консоль Powershell с правами администратора
- Остановим службу SSHD: Stop-Service sshd
- Удалим службу OpenSSD:Удалим ключи: .\uninstall-sshlsa.ps1
Настройка FTP-сервера в Windows Server 2012
В статье описан процесс установки и настройки FTP-сервера на VPS под управлением операционной системы Windows Server 2012, настройки работы брандмауэра, подключение к серверу, а также дополнительной настройки Secure FTP.
Виртуальный сервер на базе Windows
Что это такое?
FTP (File Transfer Protocol) — это аббревиатура для протокола передачи файлов. Как следует из названия, FTP используется для передачи файлов между машинами в сети. Вы можете использовать FTP для обмена файлами между локальным ПК и удаленным сервером, доступа к онлайн-архивам программного обеспечения.
В нашей инструкции будет рассмотрен вариант установки FTP-сервера как роли web-сервера IIS, в качестве альтернативы можно использовать другое программное обеспечение, например — FileZilla Server, Titan FTP Server, Home Ftp Server, Ocean FTP Server.
Установка FTP-сервера
Откройте Диспетчер серверов и выберите пункт «Добавить роли и компоненты».
В открывшемся выберите тип установки Установка ролей или компонентов.
Затем выберите нужный сервер из пула. Нажмите Далее.
В списке ролей найдите веб-сервер IIS, и разверните его. Далее нужно отметить галочкой запись «FTP-сервер» и нажать далее.
Примечание: в некоторых версия веб-сервера IIS роль FTP-сервера может быть расположена на другой странице.
Подтвердите установку FTP-сервера.
Откройте диспетчер служб IIS. Правой кнопкой мыши нажмите Сайты и в вертикальном меню выберите Добавить FTP сайт.
На дальнейшем шаге укажите название FTP-сайта и введите путь до каталога, в котором будут храниться файлы.
Затем необходимо выбрать IP-адрес сервера (он должен совпадать с адресом, указанным в панели управления сервером), установить галочку напротив «Запускать сайт FTP автоматически» и «Без SSL»:
На последующем шаге выберите обычную аутентификацию и разрешите доступ всем пользователям (с разрешениями на чтение и запись).
В следующем окне в качестве аутентификации выберите Обычная. Авторизация — Все пользователи. Отметьте галочкой нужные разрешения чтения и записи и нажмите кнопку Готово.
Ваш сайт появится древовидной структуре веб-сервера.
Настройка Брандмауэра
Для внешнего подключения к ftp-серверу необходимо настроить firewall. Для этого откройте Брандмауэр Windows в режиме повышенной безопасности. В вертикальном меню слева выберите Правила для входящих подключений, затем в вертикальном меню справа Создать правило.
В открывшемся окне отметьте тип Предопределенные и в выпадающем списке выберите FTP-сервер. Нажмите Далее.
Отметьте галочками все строки и нажмите Далее.
На дальнейшем шаге выберите Разрешить подключение и нажмите Готово. Чтобы данные правила вступили в силу — перезагрузите сервер.
Подключение к FTP-серверу
Подключиться к FTP-серверу можно несколькими способами, например через стандартную утилиту Windows — Проводник, или через программу FileZilla.
Рассмотрим подключение через Проводник. В адресной строке введите:
ftp://ip-адрес
Например, ftp://188.227.16.74
Откроется окно ввода логина и пароля, укажите данные для подключения из панели управления сервером.
Примечание: веб-сервер IIS позволяет гибко настраивать подключение к FTP-серверу, например разделять видимость пространства для разных пользователей, включать анонимный доступ и настраивать права.
В итоге вы увидите содержимое папки FTP-сервера:
Примечание: встроенный ftp-сервер web-сервера IIS обладает широкими возможностями, например, такими как: изоляция пользователей, поддержка SSL, ограничение попыток входа на сервер, ведения журнала с различными параметрами.
Настройка Secure FTP
Для повышения уровня безопасности вашего файлового сервера можно использовать SSL сертификаты. Существует 2 варианта сертификатов: самоподписанный и заверенный центром сертификации. Наиболее надежным являются файлы центра сертификации, для того чтобы заказать такой SSL-сертификат для веб-сервера IIS воспользуйтесь инструкцией. Процесс установки полученного сертификата на IIS также подробно описан.
При созданном локально самозаверенном сертификате пользователи вашего сервера FTPS будут предупреждены при подключении к серверу.
Для создания самозаверенного сертификата:
- В диспетчере IIS откройте IIS> Сертификаты сервера.
- Нажмите Создать самозаверенный сертификат в вертикальном меню справа.
- Укажите имя сертификата.
Для настройки FTP Secure перейдите на начальную страницу вашего FTP-сайта и двойным щелчком мыши откройте Параметры SSL FTP.
В новом окне выберите политику Требовать SSL-соединения, в выпадающем списке выберите ваш сертификат и нажмите действие Применить.
Для подключения через защищенный канал используйте программу WinSCP, после запуска:
- в качестве протокола выберите FTP;
- шифрование Явное шифрование TLS/SSL;
- имя хоста — домен или ip-адрес;
- порт — 21, если не настраивался другой;
- имя и пароль пользователя системы;
Перед вами откроется содержимое ftp-каталога.
Настраиваем FTP-сервер в Windows Server 2012
Расскажем, как установить и настроить FTP-сервер на VPS под управлением ОС Windows Server 2012, а также настроить брандмауэр, подключить к серверу, плюс дополнительно настроить Secure FTP.
Аббревиатура FTP (File Transfer Protocol) обозначает протокол передачи файлов. FTP предназначен для передачи файлов между машинами в сети. Можно использовать FTP для обмена файлами между локальным ПК и удаленным сервером, для доступа к онлайн-архивам ПО.
В частности, мы рассмотрим установку FTP-сервера в качестве web-сервера IIS, а кроме того, вы можете использовать другое ПО, например — FileZilla Server, Titan FTP Server, Home Ftp Server, Ocean FTP Server.
Установка FTP-сервера
Откройте Диспетчер серверов, выберите пункт «Добавить роли и компоненты».
Нажмите на тип установки «Установка ролей или компонентов».
Теперь выберите необходимый сервер из пула. Нажмите Далее.
Найдите в списке ролей веб-сервер IIS и разверните его. Теперь отметьте галочкой запись «FTP-сервер» и нажмите Далее.
Внимание: в некоторых версия веб-сервера IIS роль FTP-сервера может располагаться на другой странице.
Необходимо подтвердить установку FTP-сервера.
Затем откройте диспетчер служб IIS. Нажмите правой кнопкой мыши «Сайты» и в вертикальном меню выберите «Добавить FTP сайт».
Теперь вам следует указать название FTP-сайта и ввести путь до каталога, в котором будут храниться файлы.
Теперь выберите IP-адрес сервера (он должен совпадать с адресом, указанным в панели управления сервером), установите галочку напротив «Запускать сайт FTP автоматически» и «Без SSL»:
Затем нужно выбрать обычную аутентификацию и разрешить доступ всем пользователям (на чтение и запись).
В следующем окне в качестве аутентификации выберите «Обычная». Авторизация — Все пользователи. Поставьте галочки на нужных разрешениях чтения и записи и нажмите кнопку «Готово».
Сайт появится в древовидной структуре веб-сервера.
Вначале нужно настроить firewall для внешнего подключения к ftp-серверу. Откройте Брандмауэр Windows в режиме повышенной безопасности и в вертикальном левом меню найдите Правила для входящих подключений, а в вертикальном правом меню -Создать правило.
В открывшемся окне выберите тип «Предопределенные», а в выпадающем списке отметьте FTP-сервер. Нажмите «Далее».
Поставьте галочки на всех строках и нажмите Далее.
На следующем этапе разрешите подключение и нажмите Готово. Перезагрузите сервер, чтобы измененные правила вступили в силу.
Подключение к FTP-серверу
Для подключения к FTP-серверу можно использовать несколько технологий, в том числе через стандартную утилиту Windows — Проводник, а также через программу FileZilla.
В качестве примера проиллюстрируем подключение через Проводник. Введите в адресной строке:
Появится окно ввода логина и пароля, в нем введите данные для подключения из панели управления сервером.
Внимание: веб-сервер IIS предоставляет возможности гибкой настройки подключения к FTP-серверу, например разделения видимости пространства для разных пользователей, включения анонимного доступа и настройки прав.
В результате будет предоставлено содержимое папки FTP-сервера:
Внимание: встроенный ftp-сервер web-сервера IIS располагает внушительными возможностями, включая: изоляция пользователей, поддержка SSL, ограничение попыток входа на сервер, ведение журнала с различными параметрами.
Настройка Secure FTP
Можно использовать SSL сертификаты для повышения уровня безопасности вашего файлового сервера. Используется один из двух типов сертификатов: самоподписанный и заверенный центром сертификации. Разумеется, более надежным является второй вариант: файлы центра сертификации.
При созданном локально и самостоятельно заверенном сертификате пользователи вашего сервера FTPS будут предупреждены при подключении к серверу.
Как создать самозаверенный сертификат:
В диспетчере IIS откройте IIS> Сертификаты сервера.
Нажмите «Создать самозаверенный сертификат» в вертикальном правом меню.
Укажите имя сертификата.
Перейдите на начальную страницу вашего FTP-сайта для настройки FTP Secure и двойным щелчком мыши откройте «Параметры SSL FTP».
В открывшемся окне выберите политику «Требовать SSL-соединения», а в выпадающем списке отметьте ваш сертификат и нажмите «Применить».
Подключитесь через защищенный канал с помощью программы WinSCP, а затем выполните такие действия:
в качестве протокола выберите FTP;
шифрование Явное шифрование TLS/SSL;
имя хоста — домен или ip-адрес;
порт — 21, если не настраивался другой;
имя и пароль пользователя системы;
Нажмите «Войти».
Откроется содержимое ftp-каталога!