настройка sftp windows server 2019
Установка и настройка SFTP сервера (SSH FTP) в Windows на базе OpenSSH
С помощью официального пакета OpenSSH для Windows вы можете с легкостью организовать безопасный обмен файлами между клиентом и серверов Windows по защищенному протоколу передачи файлов SFTP (Secure FTP). В этой статье мы покажем, как с помощью Win32-OpenSSH установить SFTP сервер на Windows 10 или Windows Server 2016/2012R2.
Особенности протокола SFTP
Основные преимущества протокола SFTP:
Реализация 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:
Или с помощью DISM:
dism /Online /Add-Capability /CapabilityName:OpenSSH.Server
Исполняемые файлы 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 Мб).
, убедитесь, что создан каталог %programdata%\ssh.
Тестируем SFTP подключение с помощью WinSCP
Попробуем подключиться к поднятому нами SSH серверу по протоколу SFTP. Для этих целей воспользуемся свободным клиентом WinSCP.
В окне настройки подключения выберите протокол передачи файлов SFTP, укажите имя сервера и данные учетной записи Windows, под которой осуществляется подключение (возможно также настроить авторизацию по ключам).При первом подключении появится окно с предупреждением о том, что ключ хоста отсутствует в локальном кеше.
Если все настроено правильно, клиент должен подключиться к SFTP серверу и отобразить список файлов в домашнем каталоге пользователя (по умолчанию каталог с профилем пользователя).
С помощью привычного интерфейса файлового менеджера можно безопасно копировать файлы между сервером и клиентом. Передача файлов будет осуществляться по защищённому протоколу SFTP.
Удаление службы Win32 OpenSSH
Чтобы корректно удалить службу Win32 OpenSSH из системы:
Подключение к Windows по SSH с помощью встроенного OpenSSH
Начиная с Windows 10 1809 и Windows Server 2019 в операционной системе имеется встроенный SSH сервер, основанный на OpenSSH. В этой статье мы покажем, как установить и настроить OpenSSH сервер в Windows 10 и подключиться к нему удаленно по защищенному SSH протоколу (ну прям как в Linux 🙂 ).
Установка сервера OpenSSH в Windows
Рассмотрим, как установить компонент OpenSSH Server в Windows 10 1903 (Windows Server 2019 все выполняется аналогично).
Пакет OpenSSH (как и RSAT) уже включен в данные версии Windows в виде Feature on Demand (FoD).
При наличии прямого Интернет-подключения вы можете установить сервер OpenSSH с помощью PowerShell
Или при помощи DISM:
dism /Online /Add-Capability /CapabilityName:OpenSSH.Server
Настройка SSH сервера в Windows
После уставной сервера OpenSSH в Windows вам нужно изменить тип запуска службы sshd на автоматический и запустить службу с помощью PowerShell:
С помощью nestat убедитесь, что теперь в системе запущен SSH сервер и ждет подключений на 22 порту:
Проверьте, что включено правило брандмауэра (Windows Defender Firewall), разрешающее входящие подключения к Windows по порту TCP/22.
Если правило отключено (состоянии Enabled=False) или отсутствует, вы можете создать новое входящее правило командой New-NetFirewallRule:
По умолчанию важным компоненты OpenSSH хранятся в следующих каталогах:
При установке OpenSSH сервера в системе создается новый локальный пользователь sshd.
Sshd_config: Конфигурационный файл сервера OpenSSH
Вы можете изменить настройки сервере OpenSSH в конфигурационном файле %programdata%\ssh\sshd_config.
Например, чтобы запретить SSH подключение для определенного доменного пользователя (и всех пользователей указанного домена), добавьте в конце файле директивы:
Чтобы разрешить подключение только для определенной доменной группы:
Либо можете разрешить доступ для локальной группы:
Можно запретить вход под учетными записями с правами администратора, в этом случае для выполнения привилегированных действий в SSH сессии нужно делать runas.
Следующие директивы разрешают SSH доступ по ключам (доступ к Windows через SSH по ключам рассмотрим подробно в следующей статье) и по паролю:
Вы можете изменить порт, на котором принимает подключения OpenSSH в конфигурационном файле sshd_config в директиве Port.
Подключение к Windows 10 через SSH
Теперь вы можете попробовать подключиться к своей Windows 10 через SSH клиент (я использую putty, но можно пользоваться встроенным ssh клиентом Windows).
При первом подключении появится стандартный запрос на добавление узла в список известных SSH хостов.
Нажимаем Да, и в открывшееся окне авторизуемся под пользователем Windows.
При успешном подключении запускается командная оболочка cmd.exe со строкой-приглашением.
В командной строке вы можете выполнять различные команды, запускать скрипты и программы.
Я предпочитаю работать в командной строке PowerShell. Чтобы запустить интерпретатор PowerShell, выполните:
Чтобы изменить Shell по умолчанию в OpenSSH с cmd.exe на PowerShell, внесите изменение в реестр такой командой:
Осталось перезапустить SSH подключение и убедиться, что при подключении используется командный интерпретатор PowerShell (об этом свидетельствует приглашение PS C:\Users\admin> ).
В SSH сессии запустилась консоль PowerShell, в которой работают привычные функции: авто дополнение, раскраска модулем PSReadLine, история команд и т.д. Если текущий пользователь входит в группу локальных администраторов, то все команды в его сессии выполняются с повышенными правами даже при включенном UAC.
Как настроить SFTP-сервер в Windows с помощью OpenSSH
В статье я покажу, как настроить настроить SFTP-сервер в Windows с помощью OpenSSH.
Беспроводная передача данных в локальной сети — это не ноу-хау. Уже многие таким образом обмениваются файлами во внутренней сети. Часто для этого используется подключение по протоколу FTP.
Настраивается FTP-сервер и с помощью FTP-клиента другие компьютеры сети могут к нему подключиться. Но поскольку протокол FTP небезопасен, вам следует подумать об отказе от него в пользу чего-то лучшего. Для тех, кто не вкурсе, существует более безопасный протокол передачи файлов, который называется SFTP. Он шифрует передаваемые данные. Использование безопасного протокола SFTP может гарантировать, что никто не сможет подключиться и перехватить данные.
SFTP-сервер в Windows
Все хорошо, но есть одна проблема чтобы настроить SFTP-сервер нужен SSH, а его во всех версиях Windows — нет. Если вам нужен SFTP-сервер придется использовать OpenSSH.
OpenSSH — это реализация SSH с открытым исходным кодом, и рекомендует использовать сам Microsoft. OpenSSH по умолчанию включен в Windows 10 и Windows Server 2019. Но вы можете использовать рассмотренный в статье метод с любой версией Windows.
Настройка SFTP-сервера в Windows с помощью OpenSSH
Настройка SFTP-сервер в Windows состоит из двух частей:
Установка OpenSSH (и активация необходимых сервисов)
Примечание. Службы называются агентом проверки подлинности OpenSSH и сервером SSH OpenSSH.
Открытие порта SSH в брандмауэре Windows
Тестирование SFTP-сервера
Давайте проверим, работает ли SFTP-сервер. Для этого вам нужен SFTP-клиент. Я буду испоьзовать бесплатный SFTP-клиент WinSCP, но вы можете использовать любой другой, поддерживающий SFTP, например, FileZilla, FTP Rush или файловый менеджер с поддержкой SFTP, такой как Altap Salamander.
Для Android есть много вариантов; Total Commander и Ghost Commander имеют плагины SFTP, в то время как некоторые приложения, такие как Amaze File Manager или X-plore File Manager, имеют встроенную функцию SFTP.
Тестирование SFTP-сервера в Windows
Запустите WinSCP и выберите «SFTP» в качестве протокола. В поле имени хоста введите «localhost» (если вы тестируете компьютер, на котором вы установили OpenSSH). Вам нужно будет ввести имя пользователя и пароль Windows, чтобы программа могла подключаться к серверу. Нажмите сохранить и выберите логин.
Вы увидите всплывающее окно, подобное показанному ниже, которое спрашивает вас, доверяете ли вы серверу, к которому пытаетесь подключиться. Поскольку сервер является вашим собственным компьютером, вы можете разрешить это. В основном это ключ хоста, который аутентифицирует соединение, установленное устройством. Вы можете использовать это для передачи контента с одного компьютера на другой тоже.
Примечание. Если ваша учетная запись пользователя Windows не имеет пароля, вам потребуется использовать открытый ключ для аутентификации SFTP-сервера, который включает отдельный процесс. Вы можете создать другую учетную запись в системе для доступа к SFTP, но, возможно, потребуется сделать файлы доступными вне пользовательского каталога.
Тестирование SFTP-сервера в Android
Давайте использовать Amaze File Manager с открытым исходным кодом. Нажмите кнопку + и выберите «Облачное соединение». Выберите соединение SCP / SFTP, и должно появиться всплывающее окно. Найдите IP-адрес вашего компьютера с помощью командной строки и команды IP-конфигурации. Например, мой компьютер имеет адрес 192.168.1.9
Введите его в поле сервера, оставьте номер порта как 22 и введите имя пользователя и пароль Windows в соответствующих полях. Он должен подключиться к вашему компьютеру, и вы сможете получить доступ ко всему содержимому, доступ к которому может получить учетная запись Windows.
Заключение
Одним из основных преимуществ SFTP-сервера является то, что вы сможете легко получать доступ или передавать файлы по сети. Это не единственный способ делиться файлами, есть также небезопасный SMB и т.д., о которых мы рассказывали в этой статье.
Установка SFTP (SSH FTP) сервера в Windows с помощью OpenSSH
Вы можете использовать официальный пакет OpenSSH для Windows, чтобы легко организовать безопасную передачу файлов между клиентом и сервером Windows, используя протокол SFTP ( Secure FTP ).
В этой статье мы покажем, как использовать Win32-OpenSSH для запуска SFTP-сервера в Windows 10 или Windows Server 2016 / 2012R2.
Что такое SFTP?
Основные преимущества SFTP:
Не путайте протоколы SFTP и FTPS. По сути, FTPS – это простой FTP с сертификатом SSL, а SFTP – это протокол для отправки данных и команд FTP внутри сеанса SSH.
Реализация SFTP в Windows
Установка Win32 OpenSSH на Windows 10 1803+ / Windows Server 2019
Вы можете установить сервер OpenSSH в Windows 10 и Windows Server 2019, используя следующий командлет PowerShell:
Или используя DISM:
dism /Online /Add-Capability /CapabilityName:OpenSSH.Server
Установите Win32 OpenSSH на Windows Server 2016/2012 R2
Вы можете дополнительно настроить следующие параметры в файле конфигурации sshd_config:
AllowGroups corp\sftp_users # разрешить подключение к OpenSSH только пользователям этой доменной группы
AuthenticationMethods password # включить аутентификацию по паролю (ключи SSH не могут быть использованы)
ForceCommand internal-sftp
ChrootDirectory C:\inetpub\wwwroot\ftpfolder # каталог по умолчанию для пользователей SFTP
Тестирование SFTP-соединения с использованием WinSCP
Попробуем подключиться к созданному SSH-серверу по протоколу SFTP. Для этого используйте бесплатный клиент WinSCP .
В окне конфигурации подключения выберите SFTP в качестве протокола передачи файлов, укажите имя сервера и учетные данные учетной записи Windows, которая используется для подключения (также можно настроить проверку подлинности ключа).
При первой попытке подключения появляется следующее уведомление о ключе хоста, не найденном в локальном кэше.
Если все настроено правильно, клиент подключится к SFTP-серверу и отобразит список файлов в домашнем каталоге пользователя (по умолчанию это каталог с профилем пользователя).
Используя знакомый интерфейс файлового менеджера ( например, Total Commander ), вы можете копировать файлы между сервером и клиентом. Файлы передаются с использованием безопасного SFTP.
Как удалить Win32 OpenSSH?
Чтобы правильно удалить Win32 OpenSSH из вашей системы:
Настройка FTP-сервера в Windows Server 2019
В данной статье мы будем рассматривать пример установки и настройки FTP(File Transfer Protocol) сервера на ОС Windows Server 2019.
ШАГ 1
Первым делом нам необходимо открыть Server Manager. В открывшемся окне выбираем «Добавить роли и компоненты«(Add roles and features).
ШАГ 2
На первом шаге мастера Добавления ролей и компонентов можно сразу жать «Далее»(Next):
ШАГ 3
При выборе «Типа установки«(Installation Type) указываем «Установка ролей и компонентов«(Role-based or feature-based installation).
ШАГ 4
Из списка «Пул серверов«(Server Pool) выбираем необходимый нам сервер и жмём Далее.
ШАГ 5
Нам необходимо выбрать Роли, которые требуются для развертывания FTP-сервера. В нашем случае это Web Server(IIS).
После установки чекбокса, всплывёт окно. Жмём «Добавить компоненты«(Add features).
ШАГ 6
На данном этапе нам необходимо просто нажать Далее, так как никакие дополнительные компоненты нам не нужны.
ШАГ 7
Здесь также нажимаем Далее.
ШАГ 8
На данном этапе мы снимаем все ненужные чекбоксы. Отмечаем только «Служба FTP«(FTP Service) и «Консоль управления службами IIS«(IIS Management Console) и жмём далее.
ШАГ 9
Подтверждаем установку ролей и компонентов. Ставим чекбокс, чтобы по завершении установки сервер самостоятельно перезагрузился.
ШАГ 10
Ожидаем окончания процесса установки.
На этом процесс установки FTP-сервера завершен.
Следующим этапом будет создание FTP-пользователя и FTP-cайта.
Создаём и настраиваем пользователя для FTP-сервера.
Присваиваем нашему новому пользователю имя и пароль, и кликаем «Создать«(Create).
На этом создание пользователя завершено.
Далее нам требуется расшарить каталог для FTP пользователей. Для этого переходим в «Диспетчер серверов«(Server Manager) и во вкладке «Средства«(Tools) выбираем «Диспетчер служб IIS«(Internet Information Services (IIS)Manager).
В новом окне нам необходимо раскрыть ветку с названием нашего сервера и правым кликом мыши щелкнуть по пункту «Сайты«(Sites).
Заполняем поле «Имя FTP-сайта» и указываем каталог, к которому мы будем предоставлять доступ по FTP. И жмём кнопку «Далее».
На следующем этапе необходимо выбрать IP адрес. В нашем случае сервер имеет один IP, по этому данное поле можно не изменять. Порт вы можете указать любой свободный. Я буду использовать порт 4040.
В разделе SSL выбираем «Без SSL«(No SSL). Жмём «Далее»
Теперь нам требуется указать «Проверку подлинности«(Autentification). Выбираем «Обычная«(Basic), так как Анонимные подключения нам не нужны. Далее в разделе «Авторизация» выбираем с выпадающего списка «Указанные пользователи» и указываем нашего созданного пользователя. Ставим чекбоксы для разрешения чтения и записи в нашем расшареном каталоге.
После нажатия кнопки Готово, наш FTP сервер будет создан.