ВОЙТИ
    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