Если вы слышали выражения «Выгрузить по FTP», «FTP-сервер», «FTP-аккаунт», но не знаете, что это, — прочитайте эту статью. В ней простыми словами расскажем, что такое FTP-сервер и как к нему подключиться.
· Обновлено 24 января 2023
Что значит FTP
В статье «Как устроен интернет» мы рассказывали о том, как происходит обмен данными между устройствами, подключёнными к сети. Для этого существуют протоколы, наиболее важные из которых — TCP (протокол управления передачей данных) и HTTP (протокол передачи гипертекста).
FTP — это тоже протокол. Его название расшифровывается как File Transfer Protocol, по-русски — протокол передачи файлов. Как можно догадаться по названию, он предназначен для передачи файлов между устройствами через интернет.
По HTTP передавать файлы тоже можно, просто у FTP больше возможностей, которые делают обмен файлами удобнее. Например, этот протокол поддерживает одновременную загрузку большого количества файлов: можно подключиться к FTP-серверу и скачать целую папку с модами для игры вместо того, чтобы скачивать их по одному с сайта разработчика.
Что такое FTP и как им пользоваться [FileZilla] Клиент!
Получай лайфхаки, статьи, видео и чек-листы по обучению на почту
![]()
Зачем нужен FTP
Чаще всего FTP используют, чтобы:
- делиться файлами с другими пользователями интернета;
- поддерживать и администрировать веб-сайты;
- делать бэкапы.
Разберём каждый кейс на примере.
Делиться файлами
Марина любит играть в Minecraft и написала несколько модов для этой игры. Ей хочется поделиться своей работой с другими игроками. Можно сделать для этой цели сайт и разместить ссылки на скачивание модов на нём, но это требует усилий: нужно выбрать CMS, поработать над внешним видом сайта, придумать навигацию… Пока у Марины не хватает на это вдохновения, так что она выбрала другой способ: потратила немного времени на настройку FTP-сервера и загрузила все файлы с модами туда. Теперь, если Марина напишет новый мод, она сможет загрузить его на сервер в два клика, а другие игроки — также в два клика скачать.
Кроме того, Марина может гибко управлять настройками доступа к модам. Например, дать логин-пароль от сервера только своим друзьям, чтобы посторонний человек не смог скачать файлы. Конечно, на сайте сделать авторизацию тоже можно, но гораздо сложнее.
«Постойте, — можете сказать вы, — а как же облачные хранилища? Почему бы просто не закинуть папку с модами на Google или Яндекс Диск?». И это тоже хорошее решение, но у него есть один недостаток: по протоколу HTTP нельзя скачать на компьютер папку целиком. Поэтому облачный сервис сначала создаст архив и поместит папку в него, и только потом разрешит вам этот архив скачать, так как по HTTP можно одновременно передать только один файл. А вот у FTP такого ограничения нет: можно скачивать моды по одному, а можно — всю папку сразу.
Что такое протокол FTP и зачем он нужен.
Поддерживать веб-сайты
Антон помогает администрировать сайт своей школы. Этим утром ему позвонил директор и попросил:
- удалить из фотогалереи все фотографии учителей с новогоднего корпоратива, потому что некоторые родители сочли их возмутительными;
- вместо этого выложить фотографии с субботника, где одиннадцатиклассники вместе с трудовиком расчищают сугробы.
Удалять и загружать фотографии по одной было бы долго и мучительно. Поэтому Антон подключается к сайту школы по FTP и одним движением удаляет всю папку с корпоративом, а потом также легко загружает папку с субботником.
Делать бэкапы
FTP-протокол: что это такое и для чего он служит
Рассказываем про FTP-протокол и работу с ним в разных операционных системах.
Эта инструкция — часть курса «Как работают сетевые протоколы».
Смотреть весь курс
File Transfer Protocol, или протокол передачи файлов, — это протокол, относящийся к прикладному уровню и отвечающий за передачу данных между двумя системами. Как и протокол HTTP, он работает поверх протокола TCP. При передаче файлов FTP использует одновременно два TCP-канала: один из них отвечает за управление передачей данных, а второй — передает их.
Первоначально протокол FTP использовался как способ связи и обмена информацией между двумя физическими устройствами. Его могут использовать как компании, так и обычные пользователи для переноса данных с одной компьютерной системы на другую. Также протокол полезен в работе с веб-сайтами — для загрузки или выгрузки файлов с серверов.
Передача файлов FTP-протоколом между клиентом и сервером
FTP-соединение создается между клиентом и сервером, после чего они общаются друг с другом при помощи сети. Для этого пользователь может получить разрешение, предоставив учетные данные FTP-серверу, или использовать анонимный FTP.
При установлении FTP-соединения создаются два типа каналов связи, которые называются канал команд и канал данных.
Командный канал требуется для:
- передачи сообщений о тех или иных действиях
- ответов между клиентом и сервером (и наоборот).
Протокол FTP применяет тот же подход, что TELNET и SMTP, для связи посредством управляющего соединения. Для этого используется набор символов NVT ASCII. Общение осуществляется через порт 21.
Канал данных используется непосредственно для передачи информации и работает через порт 20.
FTP-клиент, применяя URL в качестве адреса (как и протоколы передачи гипертекста HTTP/S), посылает команду FTP и адрес клиента. После установки соединения пользователь выполняет авторизацию, вводя логин и пароль.
В зависимости от настроек сервера пользователь может получить к нему доступ без логина и пароля. Данная форма авторизации называется «Анонимный FTP». В таком случае на сервере заранее создана специальная учетная запись, которая разрешает авторизацию при любых данных, внесенных в поле пароля. После этого со стороны сервера выполняется проверка введенных данных и выдается разрешение/запрет на действия с данными. Клиент/Сервер обмениваются нужными файлами, после чего происходит выход из соединения.
Как выглядит FTP в графическом интерфейсе ОС
Для взаимодействия с удаленным сервером можно использовать либо командную строку (терминал), либо специализированные приложения. В Windows интерфейс выглядит следующим образом:

При работе через приложение взаимодействие с файлами становится гораздо проще благодаря понятности и удобства интерфейса. На скриншоте ниже — пример интерфейса приложения FileZilla:

Описание команд FTP для командной строки Windows и Linux
Эти команды помогут использовать протокол FTP через консольную строку без сторонних приложений.
| ! | Эта команда переключает вас между операционной системой и FTP. Вернувшись в операционную систему и набрав exit, вы вернетесь в командную строку FTP |
| ? | Открывает экран справки |
| append | Добавляет текст в локальный файл |
| cd | Изменяет удаленный рабочий каталог |
| delete | Удаляет файл |
| disconnect | Выход из FTP |
| get | Получение файла с удаленного компьютера |
| mdelete | Множественное удаление |
| mdir | Перечисляет содержимое нескольких удаленных каталогов |
| mget | Получение нескольких файлов |
| mkdir | Создание каталога |
| mls | Списки содержимого нескольких удаленных каталогов |
| mput | Отправка нескольких файлов |
| open | Открывает адрес |
| put | Отправить один файл |
| pwd | Печатает рабочий каталог |
| quit | Выход из FTP |
| recv | Получение файла |
Больше — по ссылке. Те же команды актуальны для работы в ОС Linux.
Какие сервисы лучше использовать для FTP-протокола
- FileZilla — это бесплатная FTP-утилита с открытым исходным кодом, которая дает пользователю возможность передавать файлы с локального компьютера на удаленный. FileZilla доступна в виде клиентской и серверной версий. Работает под ОС Windows, MacOS и Linux.
- WinSCP — это бесплатный SFTP-, WebDAV-, S3-, SCP- и FTP-клиент для Windows с открытым исходным кодом. Работает только на ОС Windows.
- Cyberduck — это FTP-клиент с бесплатными облачными возможностями и поддержкой систем Windows и Mac OS X. Cyberduck использует графический интерфейс пользователя (GUI) для предоставления доступа к файлам с серверов и для иного управления данными в различных местах, включая их редактирование и хранение.
- Transmit — это приложение для MacOS, позволяющее работать с FTP, SFTP и множеством других протоколов. Отличается удобным дизайном и высокой скоростью работы.
- CrossFTP — это приложение для ОС Windows, MacOS и Linux, поддерживающее множество протоколов, включая WebDav, SFTP, Amazon S3 и прочие.
- Nautilus — это менеджер файлов для ОС Linux, работающих на основе окружения Gnome. Основным его плюсом является то, что он уже встроен в систему. Позволяет работать с протоколами FTP(S), SMB, NFS, SSH и прочими.
- AndFTP — популярный FTP-клиент для ОС Android. Обладает несколько нагруженным интерфейсом, однако он дает пользователю те же функции, что и полноценные десктопные приложения.
- X-plore File Manager — это FTP-клиент для ОС Android, аналог AndFTP.
- FTP-manager — это FTP-клиент для iOS, позволяющий копировать, перемещать и удалять файлы между устройством и сервером. Плюсами данного приложения является возможность использовать многооконность на iPad, просматривать различные типы файлов на устройстве, а также вносить изменения в код через специальный редактор.
В чем назначение безопасного FTP-протокола
Изначально FTP не создавался с учетом требований безопасности. Считается, что это небезопасный протокол, поскольку для аутентификации он полагается на имя пользователя и пароль в открытом виде и не использует шифрование. А значит, отправляемые по FTP данные уязвимы для перехвата.
Однако существует несколько общих принципов, позволяющие обеспечить безопасное использование протокола, — FTPS и SFTP.
FTPS
FTPS, или FTP с использование Secure Socket Layer, — это метод, который позволяет выполнять шифрование соединения по требованию пользователя. FTPS был предложен в качестве альтернативы в RFC 2228.
FTPS был введен на серверах Windows, начиная с IIS 7.0. IIS, или Internet Information Services, — набор инструментов Windows, позволяющих развертывать web-сервер.
В IIS 7.0 FTPS-протокол был автономным дополнительным элементом и требовал отдельной загрузки. IIS 7.5 и каждая последующая версия имеют функциональность FTPS из «коробки». Следовательно, чтобы настроить безопасное FTP-соединение, необходимо установить только IIS Manager и/или FTP-сервис, который входит в пакет IIS.
Как работает FTPS
Как и FTP, FTPS работает по модели клиент-сервер, используя канал управления и канал передачи данных для обмена командами FTP и данными во время клиентского сеанса FTPS.
Сессия FTPS аутентифицируется при помощи логина, пароля и сертификата открытого ключа (аналогично тому, как работает HTTPS). Инструменты, такие как OpenSSL, позволяют запрашивать и создавать сертификат ключа. При соединении с сервером FTPS клиент сначала проверяет надежность сертификата сервера, после чего осуществляет подключение. Когда доверенный центр сертификации (CA) подписывает эти сертификаты, он гарантирует, что клиент подключен к надежному и безопасному серверу. Это помогает защититься от ряда атак, в том числе от атак посредника.
Сертификаты, не подписанные СА, которые известны как самозаверяющие сертификаты, могут побудить клиента FTPS создать уведомление о том, что сертификат не является подлинным. После этого пользователь может либо подтвердить действие и осуществить подключение или отклонить его.
FTPS (через SSL) использует сертификаты X.509 для аутентификации. Эти цифровые сертификаты содержат в себе открытый ключ шифрования и информацию о том, кто является его владельцем. Открытый ключ выполняет две основные функции: проверку подлинности и шифрование данных. Открытый ключ имеет связанный с ним закрытый ключ. Он находится отдельно от открытого ключа, и его главное предназначение — расшифровка сообщений, зашифрованных при помощи открытого ключа.
SFTP
Также для обеспечения безопасности соединения существует SFTP, или SSH (Secure Shell) FTP, — это протокол прикладного уровня модели OSI. Он является частью SSH и не относится к протоколу FTP напрямую. При его работе происходит шифрование данных при помощи SSH, установка соединения осуществляется через порт 22. Это отличает его от FTPS, который осуществляет открытие порта каждый раз при взаимодействии с файлом. Аутентификация может происходить как при помощи логина и пароля, так и при помощи SSH-ключа.
Как создать сетевой FTP-протокол для Windows
Шаг 1. Активация встроенного в ОС FTP-протокола
Для создания FTP-сервера на Windows потребуется выполнить несколько действий.