В данной инструкции я опишу, как можно настроить простой 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