opened image

Как быстро настроить SFTP сервер в Windows

В данной инструкции я опишу, как можно настроить простой SFTP-сервер за 2 минуты используя программу Rebex Tiny SFTP Server, без танцев с веб-сервером IIS и прочих тайных обрядов по вызыванию компонентов Windows, которые так любят разработчики компании Microsoft.

Данный SFTP-сервер не требует никаких дополнительных действий или установки дополнительного ПО, а всего лишь настройку и запуск программы, все необходимые минимальные действия для работы SFTP-сервера программа выполняет самостоятельно.

SFTP (Secure File Transfer Protocol) - это протокол, предназначен для копирования и выполнения других операций с файлами поверх надёжного и безопасного соединения.

Для начала скачайте программу с сайта https://www.rebex.net/tiny-sftp-server/, программа бесплатная, по крайней мере на данный момент (2023).

Распакуйте архив её в любую папку и перейдите в неё,  

внутри Вы должны увидеть несколько файлов, нас интересуют только 2 файла:

RebexTinySftpServer.exe.config - файл конфигурации
RebexTinySftpServer.exe - исполняющий файл программы 

Для начала пропишем пользователя, пароль и корневой каталог в файл конфигурации:

Нужно заменить строчки:

<add key="userName" value="tester" />
<add key="userPassword" value="password" />
<add key="userRootDir" value="data" />

на следующие:

<add key="userName" value="ftpuser" />
<add key="userPassword" value="FqiJ2l8fZ6cR9oAv" />
<add key="userRootDir" value="C:\" />

Где я указал в качестве имени пользоваля "ftpuser", его пароль: "FqiJ2l8fZ6cR9oAv" и корневую папку "C:\" для подключения.
Обязательно измените эти данные на любые другие в целях безопасности.
Сохраните файл.

Далее откроем порт в файрволле сервера, откройте программу Powershell и введите следующие 2 команды: 

netsh advfirewall firewall add rule name="sftp-temporary" action=allow dir=in protocol=TCP localport=22
netsh advfirewall firewall add rule name="sftp-temporary" action=allow dir=in protocol=UDP localport=22


Можно запускать программу RebexTinySftpServer.exe, в окне программы Вы увидите кнопку Start, нажмите её, чтобы запустить SFTP-сервер. 
Надпись сменится на надпись Stop, что означает, что SFTP-сервер теперь работает.

Теперь можно подключаться к серверу по SFTP, для примера я буду использовать программу Filezilla, ввожу свои данные (у Вас IP адрес будет отличаться)

Как видно я смог успешно подключиться к серверу.

 

По завершении копирования файлов и когда Вам подклчюение больше не нужно, просто нажимаем кнопку Stop в проргамме и закрываем её.
В целях безопасности лучше не оставлять данную программу работающей на постоянной основе, а запускать её только когда она необходима.

Также рекомендую после остановки программы закрывать порт, который мы открыли ранее, для этого введите в Powershell следующую команду: 

netsh advfirewall firewall delete rule name="sftp-temporary" dir=in