Что такое ftp-сервер
Содержание:
Передача файлов по FTP через терминал
Мы могли бы использовать telnet для передачи файлов по FTP через терминал, но это слишком сложно и не нужно. Существует консольный клиент FTP с более простым синтаксисом и достаточными возможностями. Сначала рассмотрим общий синтаксис и команды утилиты:
$ ftp опции адрес_сервера
Опций у утилиты всего несколько, но нам нужно их рассмотреть, потому что они могут быть вам очень полезны:
- -A — использовать активный режим во время передачи файлов;
- -p — использовать пассивный режим, используется по умолчанию;
- -i — отключать интерактивный режим во время передачи файлов;
- -n — попытаться использовать автоматический вход;
- -e — отключить историю команд;
- -v — максимально подробный вывод;
- -d — включить режим отладки.
Дальше рассмотрим команды интерактивного режима, которые вы будете использовать для подключения к серверу и управления файлами:
- account — отправить серверу свой пароль для авторизации;
- append — добавить локальный файл в конец удаленного файла на сервере;
- ascii — передавать файлы в кодировке ASCII;
- binary — передавать файлы в бинарном формате;
- bye — завершить сессию;
- cd — перейти в папку;
- cdup — перейти в папку уровнем выше;
- chmod — изменить права на файл;
- delete — удалить файл с сервера;
- dir — посмотреть список файлов в папке;
- get — скачать файл из сервера на локальную машину;
- hash — отображать статус передачи файла;
- lcd — сменить рабочую директорию на локальной машине;
- ls — список файлов в папке;
- mdelete — удалить несколько файлов;
- mget — скачать несколько файлов;
- mkdir — создать папку;
- mput — передать несколько файлов на сервер;
- open — подключится к удаленному FTP серверу;
- put — передать файл на сервер;
- pwd — вывести текущую папку;
- recv — то же самое что и get;
- rename — переименовать файл на сервере;
- rmdir — удалить папку;
- size — узнать размер файла;
- user — авторизоваться на сервере.
Это далеко не все команды, которые вы можете использовать для передачи файлов, но здесь перечислено все самое основное, и вам их точно хватит для решения простых задач.
Сначала подключаемся к нашему серверу, команде нужно передать адрес сервера:

Затем авторизуемся на сервере, нужно передать логин и пароль:

Только после этого перед нами открывается командная оболочка FTP клиента. Именно здесь будет выполняться передача файлов ftp. Изменим текущую папку на FTP, затем посмотрим ее содержимое и выведем полный адрес текущей папки:

Перейдем в папку documents на удаленном сервере и посмотрим ее содержимое:

Чтобы скачать файл по FTP с удаленного сервера нам нужно использовать команду get. Просто передайте команде имя файла:

Теперь файл находится на нашей локальной машине. Мы можем выполнять команды на локальной машине если перед ними добавить символ «!». Например, посмотрим содержимое домашней папки чтобы убедиться, что файл был загружен:
Загрузка файлов по FTP на сервер выполняется с помощью команды put, причем, здесь, как и в предыдущей команде можно задать имя создаваемого файла:

Также можно управлять файлами на удаленном сервере. Переименуем файл doument1.pdf, так чтобы он назывался правильно:

Затем удалим document3:

Для завершения сеанса FTP наберите Bye:

Сейчас многие FTP серверы используют шифрование на основе ssl сертификатов. Это необходимая мера, которая позволяет обезопасить данные пользователей. Для подключения к таким серверам необходимо использовать утилиту sftp, в остальном же процесс и команды не отличаются.
FTPS
FTPS (FTP + SSL) – расширение стандартного протокола передачи файлов, добавляющее в его базовый функционал создание шифрованных сессий с помощью протокола SSL (Secure Sockets Layer — уровень защищенных сокетов). На сегодняшний день защита обеспечивается его более продвинутым аналогом TLS (Transport Layer Security — защита транспортного уровня).
SSL
Протокол SSL предложен корпорацией Netscape Communications в 1996 году с целью обеспечения безопасности и секретности интернет-соединений. Протокол поддерживает аутентификацию (установление подлинности) клиента и сервера, не зависит от приложений и прозрачен для протоколов HTTP, FTP и Telnet.
Протокол SSL Handshake состоит из двух этапов: установление подлинности сервера и необязательное установление подлинности клиента. На первом этапе сервер в ответ на запрос клиента посылает свой сертификат и параметры шифрования. Затем клиент генерирует мастер-ключ, зашифровывает его открытым ключом сервера и отсылает серверу. Сервер расшифровывает мастер-ключ своим частным ключом и подтверждает свою подлинность клиенту, возвращая ему сообщение, заверенное мастером-ключом клиента.
Последующие данные шифруются и заверяются ключами, полученными на основе этого мастера-ключа. На втором этапе, который не является обязательным, сервер посылает запрос клиенту, а клиент подтверждает серверу свою подлинность, возвращая запрос с собственной цифровой подписью и сертификат открытого ключа.
SSL поддерживает разнообразные криптографические алгоритмы. В ходе установления связи используется криптосистема открытого ключа RSA. После обмена ключами используется много разных шифров: RC2, RC4, IDEA, DES и TripleDES. Также используется MD5 — алгоритм создания дайджеста сообщений. Синтаксис сертификатов открытого ключа описан в X.509.
Одним из немаловажных преимуществ SSL, является его полная программно-платформенная независимость. Протокол разработан на принципах переносимости, и идеология его построения, не зависит, от тех приложений, в составе которых он используется
Помимо этого, важно и то, что поверх протокола SSL, могут прозрачно накладываться и другие протоколы; либо для еще большего увеличения степени защиты целевых информационных потоков, либо, для адаптации криптографических способностей SSL под какую-нибудь другую, вполне определенную задачу
SSL-подключение
Предоставляемый SSL безопасный канал обладает тремя основными свойствами:
- Канал является частным. Шифрование используется для всех сообщений после простого диалога, который служит для определения секретного ключа.
- Канал аутентифицирован. Серверная сторона диалога всегда аутентифицируется, в то время как клиентская — аутентифицируется опционально.
- Канал надежен. Транспортировка сообщений включает в себя проверку целостности (с привлечением MAC).
Особенности FTPS
Существуют две реализации FTPS, использующие различные методы предоставления безопасности:
- Неявный метод предполагает использование стандартного протокола SSL с установлением сессии перед отправкой данных, что, в свою очередь, нарушает совместимость с обычным FTP клиентами и серверами. Для обратной совместимости с клиентами, которые не поддерживают FTPS, для контрольного соединения используется TCP-порт 990, а для передачи данных — 989. Это позволяет сохранить стандартный порт 21 для протокола FTP. Данный метод признан устаревшим.
- Явный – намного более удобен, так как использует команды стандартного FTP, но при ответе шифрует данные, что позволяет использовать одно и тоже управляющее соединение как для FTP, так и для FTPS. Клиент должен явно запросить защищенную передачу данных у сервера, а после утвердить способ шифрования. Если клиент не запросит защищенную передачу, FTPS сервер вправе как сохранить, так и закрыть незащищенное соединение. Механизм согласования идентификации и защиты данных был добавлен под RFC 2228 который включает в себя новую FTP команду AUTH. Хотя этот стандарт не определяет явно механизмы защиты, он определяет, что защищенное соединение должен инициировать клиент с помощью описанного выше алгоритма. Если защищенные соединения не поддерживаются сервером, должен быть возвращен код ошибки 504. FTPS клиенты могут получить информацию о поддерживаемых сервером протоколах защиты при помощи команды FEAT, тем не менее сервер не обязан разглашать то, какие уровни безопасности он поддерживает. Наиболее распространены FTPS команды AUTH TLS и AUTH SSL, обеспечивающие защиту TLS и SSL соответственно.
Способ 1 – Встроенный FTP
За редким использованием забываешь, что в «винде» уже есть встроенный FTP, так что и ходить далеко не нужно. Но он по умолчанию выключен, так что начнем с самого начала. Все на примере Windows 7, на «десятке» пробуем аналогично или идем в следующий раздел, где будем устанавливать стороннее решение.
- Пуск – Панель управления – Программы и компоненты:

- Нажимаем «Включение или отключение компонентов Windows». В открывшемся окне переходим в Средства IIS – FTP-сервер. И отмечаем галочкой все подкпункты. В конце не забываем нажать кнопку «ОК».

- Переходим к настройке. Пуск – Панель управления – Администрирование.

- Диспетчер служб IIS:

- Щелкаем по элементу Сайты правой кнопкой мыши и в появившемся меню выбираем «Добавить FTP-сервер»:

- В появившемся окне задаем имя FTP-сайта. Можно на самом деле любое. Мы уж обзовемся как есть – WiFiGid.ru. И физичекий путь до папки, с которой будет происходить обмен – у нас на это выделен полностью диск D:

- На следующей странице задаем IP, порт, шифрование. Лучше оставить вот так:

- Определяем параметры доступа. Галочка Анонимный – разрешение доступа без логина и пароля. Обычный – по логину и паролю:

- Все. Сам FTP создан, остается лишь задать верные настройки доступа. Переходим: Панель управления – Система и безопасность – Брандмауэр:

- Дополнительные параметры:

- В левой части выделяем вкладку «Правила для входящих подключений», а справа ищем «FTP-сервер» и «Трафик-FTP сервера в пассивном режиме». Кликаем по ним правой кнопкой мыши и нажимаем «Включить». Так мы активировали правила для входящих подключений. До этого – никаких правил не было вовсе:

- Переходим к исходящим подключениям и делаем то же самое для «Трафика FTP-сервера»:

- Теперь сервер включен, правила созданы, но нужно определить пользователей, которые смогу взаимодействовать с сервером. Идем: Панель управления – Система и безопасность – Администрирование – Управление компьютером:

- Создаем группу пользователей. Локальные пользователи и группы – Группы. Щелкаем правой кнопкой по свободному месту и выбираем «Создать группу»:

- Задаем вот так (FTP – FTP):

- В соседней подпапке Пользователи создаем нового пользователя:

- Заполняем поля по своему пользователю. Т.е. здесь главное имя пользователя и пароль, по которым и будет происходить подключение к FTP:

- Увидели в списке пользователей своего новосозданного? Теперь его нужно запихнуть в группу FTP. Щелкаем правой кнопкой по нему – Свойства. А далее переходим на вкладку «Членство в группах», где через кнопку Добавить добавляем группу:

- Уже почти все готово. ФТП работает, пользователь есть. Но Windows просто так не даст пользоваться своими ресурсами абы кому, если ты не администратор. Поэтому нужно разрешить нашему пользователю взаимодействовать с выделенной для нужд FTP папкой. Щелкаем по ней правой кнопкой мыши – Свойства. На вкладке Безопасность кликаем по кнопке «Изменить»:

- Нажимаем кнопку Добавить и добавляем нашу группу. А заодно ниже ей в колонке Разрешить отмечаем все галочки:

- Теперь снова возвращаемся в службы IIS и идем настраивать наши правила на авторизацию. Щелкаем по нашему созданному здесь сайту и выбираем «Правила авторизации FTP»:

- Тут же правой кнопкой по пустому месту – Добавить разрешающее правило:

- По умолчанию доступ можно производить и без авторизации, но мы то не хотим ничего плохого? (если хотим, все связанное с созданием пользователя вообще можно было пропустить). Выбираем здесь пункт «Указанные роли или группы пользователей» и вписываем нашу группу FTP:

- А вот в качестве альтернативы можно, например, разрешить подключение анонимным пользователям, но ограничить их в правах только на чтение. Тогда они ничего не удалят:

За этим первый вариант заканчиваем. Надеюсь, и вам удалось настроить FTP-сервер.
Пример сеанса FTP
Мы подключились к серверу на порт 21, создали управляющее соединение, сервер нам выдал ответ.

Ответ FTP сервера, также как и ответы серверов многих прикладных протоколов состоят из двух частей, первая 220 статус, а вторая поясняющее сообщение Welcome to the FTP Server. Статус ответа 220, коды которой начинаются с 2, говорят об успешном выполнении команды, поясняющее сообщение содержит приветствие “Добро пожаловать на FTP сервер”.
Сначала необходимо пройти аутентификацию. Для этого используется команда USER anonymous и мы хотим подключиться, как анонимный пользователь.
Сервер отвечает сообщением со статусом 331. Код, который начинается с 3 говорит о том, что предыдущая команда была выполнена успешно и ожидается продолжение выполнения связанных действий.
Устанавливаем бинарный режим передачи файлов с помощью команды TYPE 1. Сервер отвечает, что тип передачи данных успешно установлен в 1. 200 Type set to 1.
Мы хотим загрузить сервера в файл, показан путь /pud/tex/latex/llncs2e.zip, но перед тем как загрузить, мы хотим узнать его размер, для этого выдаем команду SIZE /pud/tex/latex/llncs2e.zip. Сервер в ответ выдает размер файла в байтах 213 230229.
Переходим в пассивный режим с помощью команды PASV.

В ответ сервер говорит, что он перешел в пассивный режим 227 Entering Passive Mod (213, 71, 6, 142, 35, 141) и передает нам 6 чисел, которые нужно использовать для установки соединения для передачи данных. Первые 4 числа это IP-адрес, вторые два числа используются, чтобы узнать порт на который нужно установить соединение. Первое число 35 нужно умножить на 256 и прибавить второе число 141, так мы узнаем порт.
Для того, чтобы загрузить нужный нам файл используем команду RETR /pud/tex/latex/llncs2e.zip. После того, как мы выдали эту команду сервер ждет, что мы установим соединение с IP-адресом и портом, которые он нам указал.
После того, как соединение для передачи данных установлено, сервер сообщает нам об этом в управляющем соединении. 150 Opening BINARY mode data connection for /pud/tex/latex/llncs2e.zip (230229 bytes). Также сервер говорит, что передача данных ведется в бинарном режиме.
После того, как передача файла закончена, сервер сообщает нам об этом 226 Transfer complete. Клиент выдает команду QUIT чтобы разорвать соединение. Сервер сообщает нам некоторую статистику, сколько было передано байт и файлов. 221 You have transferred 239229 bytes in 1 file. И говорит до свидания 221 Goodbye. На этом сеанс работы по протоколу FTP завершен.
iWeb
После создания сайта на экране появится окно программы iWeb с содержимым вашего сайта.

В левой части окна кликните по названию сайта, который хотите опубликовать. В данном примере сайт называется Мой сайт.


В разделе Параметры FTP-сервера:
Адрес сервера: ftp.ваш_логин.nichost.ru
Пользователь: имя_пользователя (обычно ваш_логин_ftp)
Пароль: ваш_пароль
Каталог/путь: ваш_сайт/docs
Протокол: FTP
Порт: 21

В качестве URL укажите адрес вашего сайта.

Далее нажмите кнопку Тестировать подключение. В случае успешного подключения появится сообщение: «Тестирование выполнено успешно». Теперь можно опубликовать сайт на выбранном сервере FTP.

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

В случае успешной публикации, появится сообщение: «Ваш сайт опубликован».

Важно: По умолчанию iWeb использует кодировку текста UTF-8. На нашем хостинге по умолчанию используется кодировка Windows-1251
Для корректного отображения вашего сайта, вам необходимо зайти в панель управления хостингом, раздел Веб-сервер → Сайты → ваш_сайт и выбрать из списка Кодировка сайта кодировку UTF-8.
Что из себя представляет FTP и как “оно” отличается от HTTP
Если разобрать, то система ФТП представляет собой тот же протокол, что и HTTP. По сути, протокол – это прописанные правила, которые использует определенная программа для чтения или записи информации. Например, существует протокол SSH, который позволяет при помощи специальной шифровки и читать, и записывать данные. А HTTP – это, можно сказать, специальный сервис, который позволяет скачивать на компьютер текстовую информацию. А точнее не на компьютер, а в браузер. То есть инструмент для работы с протоколом HTTP – это браузер. А текст, который вы на него загружаете при помощи HTTP – это страницы сайтов. Ведь они полностью состоят из текстового кода, если вдуматься, а именно гипертекст и позволяет загружать HTTP в ваш браузер.
Но чем же отличается подключение по ФТП от HTTP? С одной стороны, вам может показаться, что только HTTP использует для работы браузер. На деле это совсем не так. Подключение FTP в Интернете реально организовать и через браузер. Только для этого нужно особое приложение, так как любой попавшийся браузер не подойдет. А именно нужен стандартный браузер операционной системы Windows – Internet Explorer, который многие так не любят. Для того, чтобы активировать подключение по протоколу FTP через этот браузер используется специальная функция ftp://логин:пароль@доменное_имя_сайта. Так вы сможете проникнуть в хранилище файлов сайта в свой запароленный аккаунт или любой другой сервис, который использует FTP соединение.
Служба передачи файлов FTP имеет приятную особенность – с ней работать в Интернете надежнее, чем через стандартный загрузчик браузера. Так, все файлы, которые вы скачиваете, обязательно попадут вам на компьютер, даже если они большие или загрузка будет прервана.
Бесплатный FTP сервер
Выбор именно FTP сервера для хранения бекапов обусловлен тем, что это самый распространенный способ передачи данных, который реализован в большинстве панелей управления хостингом, будь то CPanel, ISPManager или VestaCP. То есть для создания резервной копии и передачи ее на удаленный сервер вам не надо устанавливать дополнительное программное обеспечение, все можно сделать прямо из панели управления. В том числе автоматическое создание бекапов по расписанию, к примеру каждый день в 5 часов утра.
В идеале для хранения бекапов лучше купить специализированный хостинг. Например облачное хранилище в компании Селектел. Но так как я в большинстве своих статей описываю продукты и решения которые позволяют сэкономить ваши деньги, то сегодня напишу о известных мне бесплатных способах хранения резервных копий.
Не бесплатный FTP сервер от net2ftp.ru
Данный сервис раньше предлагал бесплатно FTP сервер + доступ по Web (http), место на диске 20 Гб, скорость доступа 20 мбит/сек, 2 года хранения (если к файлу не обращались более 2-х лет, то он удаляется).
Чтобы зарегистрироваться достаточно ввести адрес электронной почты. Для хранения данных предлагают два сервера, один в России, другой в Словении.
И если Ваша почта test@test.ru. и Вы подключились к серверу node0.net2ftp.ru., в нем создали папку /public_http, и загрузили в нее файлы. То теперь эти файлы будут доступны по адресу http://net2ftp.ru/node0/test@test.ru/.
Я протестировал доступ к этому хранилищу из панели ISPmanager, все работает без сбоев уже несколько месяцев.
Бесплатный тариф хостинг 2×4.ru
Второе место, которое я использую в качестве бесплатного хранилища резервных копий — это бесплатный хостинг компании 2×4.ru.

Бесплатный тариф предлагает 3 ГБ дискового пространства. Что конечно же меньше, чем у предыдущей компании, но все так же бесплатно. И помня о том, что не нужно класть все яйца в одну корзину я складываю резервные копии сразу в два хранилища:

Углубленная настройка FileZilla Server — пользователи, приветстве и прочее
В следующем подпункте можно настроить приветственное сообщение, которое будут видеть пользователи при подключении. Например: “Сервер Заметок Сис. Админа на FileZilla Server! :)”. Здесь же можно воспользоваться, так называемыми, текстовыми параметрами. Например, можно задать вывод для клиентов версии ftp-сервера. Для этого введите, помимо приветствия, сочетание символов %v . В месте где Вы их введете, будет автоматически выводится вышеупомянутая версия.

Далее переходим на подпункт “IP bindings”. Здесь настраиваются IP-адреса, по которым будет доступен наш FTP сервер. Если Вам хочется, чтобы сервер был доступен только из локальной сети, то вместо звёздочки, следует указать ваш локальный IP-адрес, как например, 192.168.1.5. В противном случае, здесь трогать ничего не стоит.

В подпункте “IP Filter” можно задать IP адреса (или их диапазон), которым будет запрещено подключаться к Вашему серверу, а так же задать исключения из заданного диапазона (второе поле).
Т.е, например, если Вы хотите кого-то забанить и запретить ему попадать на Ваш сервер, то укажите его в первом окошке. Так же, если Вы хотите предоставить доступ только кому-то определенному и запретить всем остальным, то поставьте звёздочку в первом поле и задайте список IP-адресов во втором.

Вкладка “Passive mode settings” регламентирует параметры для пассивного подключения к серверу и отклик оного.
Менять здесь что-либо стоит только в том случае, если Вы подключены к интернету не напрямую, а через роутер, на котором обитает фаерволл и NAT. В этом случае может потребоваться указать в поле «Use the following IP» свой внешний IP-адрес (можно узнать у провайдера или в интерфейсе роутера), а так же задать диапазон портов (Use custom port range), через которые клиент сможет подключаться к Вашему серверу в пассивном режиме.
Трогать эти настройки стоит, пожалуй, только в случае проблем с подключением пользователей. В случае оных и невозможности разобраться самостоятельно, я дам Вам консультацию по настройкам исключительно для Вас (пишите комментарии).

Идем далее. В пункте настроек “Security Settings” задаются ограничения на входящие и исходящие соединения типа “сервер-сервер”. Здесь ничего менять не стоит.
Раздел настроек “Miscellaneous” содержат малозначительные для домашнего фтп-сервера настройки. Например, такие как “Не показывать пароль в лог-файлах” (Don’t show passwords in message log), “Запускать интерфейс свернутым” (Start minimized), а так же размеры буферов передачи. Трогать здесь, в общем-то, ничего не нужно.

На вкладке “Admin Interface Settings” можно задать IP-адрес и порт, по которым будет доступен интерфейс управления сервером (тот самый, что мы вначале использовали как 127.0.0.1 и 14147, т.е, если есть желание, то Вы можете их сменить). Кроме того, можно указать IP-адреса, которым разрешено подключаться к нему.

Раздел настроек “Logging” позволяет включать запись лог-файлов (Enable logging to file), настроить их максимальный размер (Limit log file size to), писать все в один файл (Log all to «FileZilla Server.log») или для каждого дня создавать отдельный (в этом случае можно ограничить их максимальный срок хранения).

Вкладка “GSS Settings” отвечает за использования протокола Kerberos GSS. Для обычного использования эта опция не требует настройки.
Для чего он нужен
Перед началом настройки сервера нужно понять, что за аббревиатура «FTP» прячется в его названии. FTP (File Transfer Protocol) – это протокол передачи данных через интернет. В первоначальном виде он появился в далеком 1971 году, но до сих пор пользуется популярностью. Следовательно, FTP-сервером допустимо назвать хранилище данных в интернете, к которому может обратиться человек, чтобы скачать музыку, фильмы, фото и другие файлы.

Раз уж в этом материале мы говорим о настройке FTP-сервера на ПК с операционной системой Windows 10 на борту, то стоит пояснить, что в нашем случае в качестве хранилища (сервера) будет выступать сам компьютер. А FTP будет использоваться в качестве протокола для передачи данных. Таким образом, вы сможете делиться информацией, сохраненной на вашем устройстве, с другими пользователями, не тратя время на загрузку данных в облако и, уж тем более, копирование данных на флеш-накопители.
О настройках брендмауэра
Чтобы внешние подключения происходили быстро и гладко, потребуется настроить файервол – это проводится через приложение брендмауэра. Его следует запускать с режимом повышенной безопасности. После открытия в левом подменю нужно найти графу с правилами для входящих подключений, а в правой части кликнуть по созданию новых правил.

В «Мастер создания» выбирается предопределенный тип правил, ему указывается правило FTP из выпадающего подменю.

В подменю предопределенных правил рекомендуем поставить галочки во всех строках.

В подменю «Действие» необходимо разрешить подключения (первая строка). Настройка закончилась, она войдет в работу как только перезагрузится сервер.

Как работает FTP-протокол

Такое название имеет протокол, ориентированный на пересылку данных в виде файлов в Интернете и локальных компьютерных сетях. Его особенность — множественное соединение. Один канал играет роль управляющего, через него сервер принимает команды и возвращает ответы (как правило, через 21-й порт). Прочие каналы применяются собственно для передачи файлов (чаще всего через 20-й порт).
Перед началом работы с протоколом клиентское устройство открывает сессию. На протяжении всей дальнейшей работы она остаётся открытой — сервер «запоминает» состояние сессии.
Есть два режима, в которых может работать протокол:
- активный. Клиентское устройство инициирует управляющее соединение и по нему отправляет серверу собственный IP-адрес. Кроме того, клиент отправляет серверу номер порта, на который будет принимать данные. FTP-сервер, получив эти сведения, открывает соединение с указанными узлом-клиентом параметрами. Сессия открывается, и начинается передача файлов;
- пассивный. Используется в случае, если клиент защищён брандмауэром. В этой ситуации он не может принять от сервера FTP входящее соединение. Вопрос решается путём отсылки серверу управляющей команды PASV. Сервер, получив её, отправляет клиенту собственный IP-адрес, а также номер порта. В свою очередь, клиент, получив эти сведения, сам генерирует соединение с сервером, после чего открывается сессия и начинается передача файлов.

Обмен информацией между сервером и клиентом по протоколу, в свою очередь, также может проходить в одном из нескольких режимах:
- поточном. Информация перемещается между клиентом и сервером сплошным потоком, протокол её никак не обрабатывает;
- блочном. Протокол делит поток информации на блоки (заголовок, объём, собственно данные);
- режиме сжатия. Информация перед передачей сжимается тем или иным алгоритмом.
Сервер FTP использует аутентификацию клиента по схеме «имя пользователя/пароль». Клиентское устройство отправляет эти данные, сервер проверяет их, и при обнаружении соответствия отправляет клиенту приглашение. Кроме того, можно организовать и анонимный доступ к серверу — без предоставления имени и пароля.