Что такое FTPS: принцип работы и отличия от обычного FTP. Все, что нужно знать о FTP

FTP (File Transfer Protocol) – протокол передачи данных по сети между компьютерами. При помощи специальных данных возможно подключится к серверу и работать с данными на диске.

Если у кого-то есть сервер или хостинг, на котором он хранит файлы, либо это простой сайт (состоящий из множества различных файлов), то для работы с ними можно использовать встроенный файловый менеджер. Для серверных решений, например, Ubuntu Server есть немного другие программы, и средства, позволяющие работать с файлами. Любой сервер (или компьютер) имеет накопитель, на котором хранятся файлы. Будь это сервер без файлового менеджера или хостинг, имеющий его, получить доступ к данным можно через протокол передачи данных.

Для подключения по FTP пользователю даётся логин, пароль, а также хост (компьютер к которому собираетесь подключиться). В качестве хоста обычно используется IP-адрес. Обычно данные по FTP (я про данные авторизации) передаются в незашифрованном виде, поэтому существуют протоколы FTPS и SFTP.

Как подключиться к FTP

Для подключения к протоколу существуют специальные инструменты – FTP-клиенты. Они имеют много настроек, о которых я расскажу в этой статье. Вот список самых популярных клиентов и средств, которые позволяют подключиться к протоколу.

  • FileZilla – поддерживает любую операционную систему. Самый популярный из существующих инструментов.
  • WinSCP – ПО для системы Windows, можно подключаться по защищенному соединению.
  • Total Commander – хоть это и файловый менеджер, но имеет функцию подключения по FTP. Но это не тот вариант, который я бы рекомендовал, лучше следующий. .
  • FreeCommander – файловый менеджер, имеющий все средства для работы с данными и функцию FTP-клиента. Защищенное соединение поддерживает. .
  • Сетевой диск Windows – FTP-соединение осуществляется при помощи проводника.

Подключение к FTP с помощью проводника Windows

Обычно логин и пароль приходит вам на почту после регистрации на хостинге или VPS сервере. Я покажу на примере .

Заходим в проводник Windows в каталог «Этот компьютер». На Windows 10 вверху есть опция «Добавить сетевое расположение» . Нажимаем на неё.

Откроется мастер добавления сетевого расположения. Нажимаем «Далее» .

В следующем разделе предлагается выбрать другое сетевое расположение. Здесь также жмём «Далее» .

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

ftp://имя_пользователя@IP-адрес
ftp://site.com

Имя пользователя вам даётся в письме. После ввода одной из таких строчек (со своими данными), нажимаем «Далее» .


Необходимо дать имя новому подключению. Можете назвать как угодно.


Вот мы и завершили создание сети. Можно оставить галочку «Открыть это расположение в сети после нажатия кнопки Готово» , и разумеется, нажать эту кнопку.


Сразу откроется окно входа, где указан FTP-сервер, имя пользователя. Пароль нужно ввести самому. Такой вариант входа не является безопасным, но это всё, что может проводник. После ввода данных, нажимаем «Вход» .


Открывается проводник с файлами на сервере. Теперь вы можете полноценно работать с данными: закачивать или скачивать с сервера данные и изменять их.


Настраиваем FileZilla для подключения FTP

Загрузить утилиту можно с официального сайта — http://filezilla.ru/
Или отсюда — https://filezilla-project.org/

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

Установив программу, переходим к процессу подключения.

«Файл» и выбираем опцию «Менеджер сайтов» .

В открывшемся окошке вводим:

  • Хост (имя сервера/компьютера);
  • Выбираем протокол FTP или SFTP;
  • Тип входа «Нормальный» или «Запросить пароль»;

Нажимаем кнопку «Соединиться» и ждём.


Последний статус должен быть «Список каталогов извлечен», а в окошке справа появится список папок и файлов. Файлы можно закачивать и скачивать с сервера.


Подключится к FTP через Total Commander

Кто пользуется данным файловым менеджером, для них я покажу, как соединяться с FTP. В программе на панели управления нажимаем «Сеть» и выберем опцию «Соединиться с FTP-сервером» .

В открывшемся окошке нажмите кнопочку «Добавить» .


Впишем следующие данные:

  • Имя соединения – называем любым именем;
  • Сервер (порт) – IP-адрес или сайт;
  • В случае необходимости отмечаем галку SSL/TLS (если подключение использует защищенный протокол);
  • Учетная запись — имя пользователя;
  • Пароль.

Введя эти данные жмём ОК.

В окошке соединения должно появится новое подключение. Выбрав его жмём «Соединиться» .



Как организовать FTP-соединение в FreeCommander

Заходим в утилиту и нажимаем по вкладке «Инструменты» . Там щелкаем по опции «Новое FTP соединение» .

Открывается окно, где вводим:

  • Имя соединения – можно любое;
  • Адрес хоста – IP-адрес или сайт;
  • Имя пользователя и пароль.

Щелкаем соединиться и радуемся.

Другие программы работают аналогично. Если вы хотите, чтобы я о них рассказал, напишите об этом в комментариях.


Что такое FTPS и SFTP

В статье я упоминал протоколы FTPS и SFTP . Первый вариант защищен с помощью SSL или TLS. Второй вариант обозначает тот SSH, только расширенный.

Защищённый тип протокола от обычного отличается тем, что можно проводить авторизацию (по-другому аутентификацию) с использованием ключей SSH, то есть не нужно вводить пароль. Хоть этот метод и безопасен с точки зрения получения доступа (никто не сможет взломать пароль), встает вопрос защиты самого файла ключей SSH. Также протокол обеспечит вас более быстрым соединением.

Вход по FTPS и SFTP осуществляется стандартными логином и паролем.

Пассивный режим в FTP протоколе

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

Обязательно воспользуетесь пассивным режимом, если соединяетесь на домашнем ПК, иначе вы можете не увидеть папок и файлов.

Когда информации не просто много, а очень много, автоматически возникает вопрос: где ее хранить? Жесткий диск не резиновый, поэтому в данном случае лучше всего использовать возможности бескрайних просторов сети Интернет. Для этого придумали специальные FTP -серверы — файловые хранилища, в которых содержится много разной информации. Они дают возможность легко переносить любые файлы с компьютера на сервер и обратно. Всю эту работу выполняет протокол передачи файлов, что по-английски File Transfer Protocol (FTP ).

В чем же прелесть использования FTP-сервера?

Вы можете хранить здесь безмерные объемы информации.
Очень удобно полностью загружать домашние странички, а не ограничиваться отдельно взятыми файлами.
Размещать можно файлы любого формата, начиная от обычных текстовых документов, заканчивая программным обеспечением.
Большинство FTP -серверов бесплатны и к ним можно получить свободный доступ.
Если во время загрузки или скачивания файла связь с сервером прервалась, то возобновив ее, процесс продолжится с момента остановки и без потери данных. Особенно удобна данная функция, если вы используете большие по объему файлы.
К любым файлам можно устанавливать свободный или ограниченный доступ.

Для того чтобы у вас была возможность пользоваться FTP -сервером, можно использовать практически любой интернет-браузер, только сначала в меню «Свойства» проверьте, разрешает ли он работу с папками для узлов FTP . Далее в адресной строке набирайте адрес нужного FTP -сервера и можно начинать работу. И эта работа начинается с авторизации, то есть регистрации пользователя. Вам необходимо ввести в соответствующее поле имя и пароль для входа. Если регистрироваться не очень хочется или просто нет надобности, можно воспользоваться анонимным входом, но в этом случае, некоторые возможности работы будут недоступны или ограничены. Чтобы осуществить анонимный вход, в поле, предназначенном для имени, вводите слово anonymous , а вместо пароля – адрес электронной почты. Получив доступ к каталогам, вы можете начинать скачивать или загружать информацию.

    Аббревиатура FTP происходит от английского F ile T ransfer P rotocol (протокол передачи файлов) - протокол прикладного уровня для обмена файлами по транспортному протоколу TCP/IP между двумя компьютерами, FTP-клиентом и FTP-сервером. Это один их старейших, и тем не менее, по-прежнему активно используемый протокол.

Протокол FTP предназначен для решения следующих задач:

  • доступ к файлам и каталогам на удаленных хостах
  • обеспечение независимости клиента от типа файловой системы удаленного компьютера
  • надежная передача данных
  • использование ресурсов удаленной системы.
  • Протокол FTP поддерживает сразу два канала соединения - один для передачи команд и результатов их выполнения, другой - для обмена данными . При стандартных настройках FTP - сервер использует TCP порт 21 для организации канала передачи и приема команд и TCP порт 20 для организации канала приема/передачи данных.

    FTP-сервер ожидает подключения от FTP-клиентов на TCP порт 21 и, после установления соединения, принимает и обрабатывает команды FTP , представляющие собой обычные текстовые строки. Команды определяют параметры соединения, тип передаваемых данных и действия по отношению к файлам и каталогам. После согласования параметров передачи, один из участников обмена становится в пассивный режим, ожидая входящие соединения для канала обмена данными, а второй - устанавливает соединение на данный порт и начинает передачу. По завершении передачи, соединение для обмена данными закрывается, но управляющее соединение остается открытым, позволяя продолжить FTP - сессию и создать новый сеанс передачи данных.

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

    FTP- клиент является программой, которая выполняет подключение к FTP- серверу и выполняет необходимые операции для просмотра содержимого каталогов сервера, приема, передачи и удаления файлов или папок. В качестве такой программы может использоваться обычный браузер, компоненты операционной системы или специально разработанные программные продукты, как, например, популярный менеджер закачек Download Master или многофункциональный бесплатный FileZilla FTP Client .

    Протокол FTP разрабатывался еще в те времена, когда клиент и сервер взаимодействовали напрямую, без каких-либо промежуточных преобразований TCP- пакетов, и в стандартном режиме предполагает возможность создания TCP - соединения не только по инициативе клиента, но и по инициативе сервера от TCP порта 20 на TCP - порт клиента, номер которого передается в процессе создания сеанса передачи данных.

    Реалии же сегодняшнего дня таковы, что подобное TCP - соединение от сервера к клиенту в подавляющем большинстве случаев невозможно, или очень непросто реализовать по причине того, что в большинстве случаев, для подключения к Интернет используется технология с трансляцией сетевых адресов NAT (Network Address Translation) , когда клиент не имеет сетевого интерфейса, доступного для создания прямого TCP- соединения из Интернет. Типовая схема стандартного подключения к Интернет выглядит следующим образом:

    Подключение к Интернет выполняется через специальное устройство - Router (маршрутизатор с функцией NAT), имеющее, как минимум два сетевых порта - один подключенный к сети провайдера, имеющий сетевой интерфейс с маршрутизируемым IP-адресом (так называемый, "белый IP"), например 212.248.22.144, и порт с сетевым интерфейсом для подключения устройств локальной сети с приватным, немаршрутизируемым IP-адресом, например 192.168.1.1 ("серый IP"). При создании соединений от сетевых устройств локальной сети к внешним сетевым узлам, IP-пакеты направляются на маршрутизатор, который выполняет трансляцию адресов и портов таким образом, чтобы, адресом отправителя стал его белый IP-адрес . Результаты трансляции сохраняются и при получении ответного пакета, выполняется обратное преобразование адреса. Таким образом, маршрутизатор обеспечивает пересылку TCP/IP - пакетов от любых устройств локальной сети во внешние сети и обратную пересылку полученных ответных пакетов. Но в тех случаях, когда на вход сетевого интерфейса, подключенного к сети провайдера, принимается пакет, который не имеет отношения к ответным TCP-пакетам, возможны следующие варианты реакции программного обеспечения маршрутизатора:

    Пакет игнорируется, так как нет сетевой службы, которая могла бы его обработать.

    Пакет принимается и обрабатывается сетевой службой самого маршрутизатора, если такая служба существует и ожидает ходящее соединение ("слушает") порт, номер которого указан в принятом пакете.

    Пакет пересылается серверу в локальной сети, ожидающему данный вид входящих соединений в соответствии с правилами перенаправления портов (port mapping) заданными настройками маршрутизатора.

    Поэтому, в настоящее время, основным режимом работы по протоколу FTP стал так называемый "пассивный режим", при котором TCP - соединения выполняются только от клиента на TCP-порт сервера. Активный же режим, используется в тех случаях, когда существует возможность TCP - подключения от сервера на порты клиентов, например, когда они находятся в одной локальной сети. Выбор режима FTP-соединения производится специальными командами:

    PASV - клиент передает команду, чтобы выполнить обмен данными в пассивном режиме. Сервер вернет адрес и порт к которому нужно подключиться чтобы принимать или передавать данные. Пример фрагмента FTP- сессии с установкой пассивного режима:

    PASSV - команда на переключение в пассивный режим, передаваемая FTP - клиентом FTP-серверу

    227 Entering Passive Mode (212,248,22,144,195,89) - ответ FTP-сервера, где 227 - код ответа, текстовое сообщение о переходе в пассивный режим и в скобках IP-адрес и номер порта, которые будут использованы для создания канала передачи данных. Адрес и номер порта отображаются в виде десятичных чисел, разделяемых запятой. Первые 4 числа - это IP-адрес (212.248.22.144), оставшиеся 2 числа задают номер порта, который вычисляется по формуле - первое число умножается на 256 и к результату прибавляется второе число, в данном примере номер порта 195*256 +89 = 50017

    PORT IP адрес клиента номер порта - клиент передает команду, чтобы организовать сеанс в активном режиме. IP-адрес и номер порта задаются в том же формате, как и в предыдущем примере, например PORT 212.248.22.144,195,89 Для организации передачи данных сервер сам подключается к клиенту на указанный порт.

    Установка и настройка FileZilla FTP Server.

    Скачать инсталляционный пакет FileZilla Server для вашей версии операционной системы можно на

    Установка сервера выполняется стандартным образом, за исключением пункта с выбором настроек панели управления сервером :

    Это основное средство управления сервером, через которое выполняются все необходимые настройки. По умолчанию, панель управления работает на петлевом интерфейсе без доступа по паролю. При необходимости, например, если потребуется удаленное управление FTP-сервером, эти настройки можно будет изменить.

    После завершения установки откроется окно приглашения для подключения к серверу:

    После ввода IP-адреса, номера порта и пароля (если вы задавали их в процессе установки) открывается панель управления FileZilla Server:

    В верхней части окна находится основное меню и кнопки панели управления. Ниже располагаются две области - информационных сообщений сервера и статистической информации. В целом, панель управления FTP FileZilla Servver довольно простая и удобная в использовании. Пункты основного меню:

    File - режимы работы панели управления FTP-сервером. Содержит подпункты

    - Connect to Server - подключиться к серверу
    - Disconnect - отключиться от сервера
    - Quit - завершение работы панели управления.

    Server - управление FTP-сервером. Содержит подпункты:

    - Active - запустить/остановить FTP-сервер. При установленной галочке FTP-сервер запущен, при снятой - остановлен.
    - Lock - запретить/разрешить подключения к серверу. При установленной галочке новые подключения к серверу запрещены.

    Edit - редактирование настроек. Подпункты:

    - Settings - основные настройки сервера.
    - Users - настройки пользователей FTP-сервера
    - Groups - настройки групп пользователей.

    В качестве примера, выполним настройки сервера для следующих условий:

  • сервер находится за NAT, имеет приватный IP-адрес, но должен быть доступен из Интернет, поддерживает пассивный режим и использует нестандартные TCP порты. Использование нестандартных портов позволяет уменьшить вероятность хакерских атак, и кроме того, некоторые провайдеры используют фильтрацию трафика и блокируют стандартные 20 и 21 порты.
  • пользователи имеют возможность скачивать с сервера, закачивать на сервер, удалять и переименовывать файлы и папки.
  • в случае использования динамического IP-адреса, требуется обеспечить доступность сервера по DNS-имени.
  • сервер будет функционировать на рабочей станции в среде ОС Windows 7 / Windows 8.
  • Другими словами, нужно создать доступный из Интернет FTP-сервер для обмена файлами между пользователями, разумеется бесплатно. Вполне понятно, что кроме создания необходимой конфигурации самого FTP - сервера, потребуется изменение некоторых настроек маршрутизатора, параметров брандмауэра Windows, решение проблемы динамического IP-адреса, чтобы сервер был доступен по имени, независимо от смены IP-адреса.

    Решение проблемы динамического IP-адреса.

        Данная проблема не требует решения в тех случаях, когда при подключении к интернет используется статический IP - адрес, или же динамический, но в соответствии с настройками провайдера, практически всегда один и тот же. В противном случае, можно воспользоваться технологией, получившей название Динамический DNS ( DDNS ) . Данная технология, позволяет почти в реальном масштабе времени обновлять информацию об IP-адресе на DNS-сервере, и получать доступ к маршрутизатору (и службам за ним) по зарегистрированному имени, не обращая внимание на изменение динамического IP.

    Для бесплатной реализации данной технологии потребуется регистрация на каком-нибудь сервисе динамического DNS и установка клиентского программного обеспечения для обновления записи DNS в случае изменения соответствующего IP-адреса. Поддержку динамического DNS, как правило, осуществляют производители сетевого оборудования (D-Link, Zyxel и др.), некоторые хостинговые и специализированные компании, как например, широко известная DynDNS . Однако, после того, как во второй половине 2014 года, все услуги, которые предоставлялись зарегистрированным пользователям бесплатно для некоммерческого использования, стали платными, наиболее популярным решением, пожалуй, стало использование динамического DNS на базе сервиса No-IP.org , который в бесплатном режиме предоставляет услуги по поддержке 2-х узлов с динамическим IP. Для бесплатного использования сервиса потребуется регистрация, и периодическое (приблизительно 1 раз в месяц) посещение сайта для обновления информации об используемых узлах с динамическим IP. Эсли пропустить обновление данных об узле, то услуга приостанавливается, и соответственно, подключиться к узлу по имени станет невозможно. При платном использовании сервиса обновление не требуется.

        Практически все современные маршрутизаторы (модемы) имеют встроенную поддержку динамического DNS-клиента. Его настройка обычно очень простая, - заполняются поля с именем пользователя и паролем, а также с именем узла, полученные при регистрации на сервисе DDNS . Пример для Zyxel P660RU2

        Использование клиента DDNS, встроенного в маршрутизатор/модем предпочтительнее по сравнению с утилитой обновления данных DNS, работающей в среде ОС, поскольку позволяет реализовать дополнительные возможности, как например, управление маршрутизатором через Интернет при выключенном компьютере и удаленное включение электропитания компьютеров за NAT по технологии Wake On Lan .

    В тех же случаях, когда нет возможности использования встроенного клиента DDNS, придется обходиться прикладным программным обеспечением - программой-клиентом поддержки динамического DNS. Такая программа периодически подключается к серверу, поддерживающему зарегистрированное доменное имя, связанное с маршрутизатором, через который выполняется подключение к Интернет, и вызывает процедуру обновления IP, при его изменении. Настройки сервера выполнены таким образом, что сопоставление DNS-имени и IP-адреса интернет-подключения выполняется за очень короткое время, и динамический характер адреса практически никак не сказывается на работоспособности сервисов, связанных с DNS-именем.

    Порядок действий следующий:

  • Идем на сайт No-IP.org . Для работы с уже имеющейся или новой учетной записью используется кнопка "Sign In" (в верхней правой части страницы).

  • Создаем, если она еще не создана, свою учетную запись - жмем "Create Account" . Форма регистрации периодически меняется, но обязательными являются ввод желаемого имени пользователя, пароля и вашего E-mail. На указанный при регистрации e-mail приходит письмо с ссылкой для подтверждения регистрации. При регистрации выбираем бесплатный доступ - жмем кнопку Free Sign Up после заполнения всех требуемых полей формы.
  • После успешной регистрации входим на сайт и добавляем запись для своего узла - жмем кнопку "Add Hosts"

    Фактически, необходимо ввести только выбранное имя узла, в данном случае - myhost8.ddns.net . Остальные параметры менять не нужно. Затем необходимо скачать и установить специальное программное обеспечение - Dynamic Update Client (DUC), ссылка на который размещена на главной странице сайта. После завершения установки DUC выполнится его запуск и откроется окно авторизации, где нужно ввести имя пользователя или E-mail и пароль, полученные при регистрации на сайте no-ip.org. Затем нажать кнопку Edit Hosta и поставить галочку напротив созданного ранее имени узла (myhost8.ddns.net) . Теперь, выбранному имени узла будет постоянно соответствовать "белый IP-адрес" вашего подключения к Интернет. При возникновении проблем с обновлением IP-адреса, проверьте, не блокируется ли сетевая активность клиента DUC брандмауэром.

    Настройка FTP-сервера

        Использование нестандартных номеров портов для FTP-сервера совсем не обязательно, если провайдер не использует фильтрацию трафика, или вам безразлично сканирование портов на уязвимости и попытки подбора паролей. В данной статье, использование FTP-сервера с нестандартными TCP-портами, представлено в качестве одного из возможных вариантов.

    Настройки FileZilla Server выполняются через меню "Edit" -"Settings"

    Окно General Settings предназначено для общих настроек FTP-сервера.

    В поле "Listen on this port" можно указать номер порта для входящих TCP-соединений. По умолчанию в данном поле установлено значение 21 , и для использования нестандартного номера нужно указать выбранное значение, например - 12321 . Использование нестандартного TCP-порта имеет некоторое неудобство, поскольку требует обязательное указание его значения при создании сеанса:

    Если сервер планируется использовать как с доступом из Интернет, так и в локальной сети, есть смысл оставить стандартное значение 21, а нестандартный номер порта использовать для подключений из Интернет, настроив перенаправление пакетов, пришедших на порт 12321 маршрутизатора, на порт 21 FTP-сервера в локальной сети. При такой настройке, для FTP-сессий внутри локальной сети указывать номер порта не нужно.

    Прочие параметры предназначены для настройки производительности и таймаутов сессий. Их можно оставить без изменений. Остальные разделы общих настроек можно также оставить по умолчанию:

    Welcome Message - текст, который передается клиенту при подключении.

    IP Binding - на каком сетевом интерфейсе будут ожидаться клиентские подключения. По умолчанию - на любом, но можно указать конкретный, например - 192.168.1.3.

    IP Filter - настройка правил фильтрации IP-адресов клиентов. По умолчанию - разрешены подключения для любых IP.

    Раздел Passive mode settings служит для настроек пассивного режима FTP и потребует изменения практически всех параметров, принятых по умолчанию.

    Номера портов, которые будут использоваться для передачи данных в пассивном режиме, нужно задавать вручную, поскольку потребуется настройка маршрутизатора для перенаправления их на слушаемый сервером сетевой интерфейс. Поэтому нужно установить галочку на разрешение режима "Use custom port range" и задать диапазон - например от 50000 до 50020 . Количество портов, слушаемых сервером, определяет предельное число одновременных сеансов передачи данных.

    Подраздел IPv4 specific определяет IP - адрес, который будет отправляться сервером в ответ на команду PASV. В данном случае, это должен быть не собственный IP сервера 192.168.1.3, а "белый IP" нашего подключения к Интернет. Поэтому нужно установить режим "Use the following IP" и вместо IP-адреса ввести имя, полученное при регистрации на сервисе динамического DNS - myhost8.ddns.net . В качестве альтернативы, можно использовать режим определения внешнего IP-адреса средствами проекта FileZilla, включив. "Retrieve external IP Address from:". Данный вариант можно выбрать в тех случаях, когда нет возможности использовать средство динамического DNS. Если предполагается использование FTP - сервера в своей локальной сети, нужно установить режим "Don"t use external IP for local connections" (не использовать внешний IP-адрес для соединений внутри локальной сети)

    Остальные настройки сервера можно оставить без изменений или, при необходимости, выполнить позже: Security settings - настройки безопасности. По умолчанию - запрещены соединения, которые могут быть использованы для реализации DDoS-атак

    Miscellaneous - настройки размеров буферов и прочих параметров журналов и некоторых команд FTP.

    Admin Interface settings - настройки панели управления сервером. Можно указать сетевой интерфейс, номер слушаемого порта, IP-адреса, с которых разрешено подключение к панели управления и пароль.

    Logging - настройки журнала событий сервера. По умолчанию, запись в файл не выполняется.

    Speed Limit - настройки ограничения скорости передачи данных. По умолчанию - без ограничений.

    Filetransfer compression - настройки сжатия файлов при передаче. По умолчанию - без сжатия.

    SSL/TLS settings включение режима шифрования передаваемых данных. По умолчанию - без шифрования.

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

    Настройка перенаправления портов и брандмауэра

    Для того, чтобы FTP-сервер был доступен из Интернет, необходимо выполнить настройки маршрутизатора таким образом, чтобы входящие соединения, пришедшие на определенные TCP-порты внешнего интерфейса, перенаправлялись на TCP - порты, слушаемые FTP-сервером внутренней сети. Для различных моделей маршрутизаторов настройки могут отличаться терминологией, но смысл их один и то же - принятый на внешнем (WAN) интерфейсе TCP-пакет с определенным номером порта переслать в локальную сеть на нужный IP-адрес и порт. Пример настроек маршрутизатора D-Link DIR-320NRU для перенаправления портов, используемых для пассивного режима FTP:

    Пакеты, принятые на интерфейсе с "белым IP" и имеющие номера портов в диапазоне 50000-50020 будут перенаправляться на IP-адрес, задаваемый полем "Внутренний IP" (в нашем случае - 192.168.1.3). Аналогичным образом создается перенаправление для порта 50021, если вы изменили номер стандартного порта, или на порт 21 FTP-сервера, если вы оставили его без измененния.

    После применения данных настроек, FTP-сервер будет доступен по URL ftp://myhost8.ddns.net:50021 или, для соединения внутри локальной сети:

    ftp://192.168.1.3 - если вы не изменяли стантартный номер порта (21) в настройках FTP-сервера.

    ftp://192.168.1.3:50021 - если используется нестандартный номер порта.

    Вместо IP-адреса можно использовать имя компьютера, если оно может быть разрешено в IP-адрес

    ftp://comp1

    ftp://comp1.mydomain.ru

    Диагностика проблем

    Если подключение к FTP - серверу не происходит, то возможно, возникли проблемы с блокировкой брандмауэром соединений, необходимых для работы созданного FTP-сервера. Если используется встроенный брандмауэр Windows, то необходимо добавить правило, разрешающее сетевую активность для службы "FileZilla FTP server". Если используется сторонний брандмауэр или антивирус с фильтрацией трафика, то необходимо создать соответствующее правило имеющимися средствами настроек для разрешения сетевых соединений. Возможны варианты, когда настройки делаются для разрешения любой сетевой активности конкретной программы, или для разрешения выбранных адресов и портов, применяемых ко всем программам.

    Начать диагностику лучше всего на самом FTP-сервере. В качестве средства диагностики, можно использовать стандартный telnet - клиент (утилита telnet.exe ) . Все брандмауэры не блокируют соединения на петлевом интерфейсе и для проверки правильности настроек сервера можно подключиться к нему введя команду:

    telnet localhost 21 - если используется стандартный номер порта.

    telnet localhost 50021 - если был изменен стандартный номер порта.

    При выполнении данной команды происходит подключение к FTP-серверу по петлевому интерфейсу и в окне telnet должно отобразиться приглашение сервера (Welcome Message). Если этого не происходит, возможно, сервер остановлен, имеет место конфликт портов, или слушается не порт 21 (50021) . Для диагностики можно использовать команду netstat :

    netstat –nab

    Параметры командной строки означают:

    n - использовать числовые номера портов и адреса IP

    a - отображать все соединения и слушаемые порты

    b - отображать имена программ, участвующих в создании соединений.

    Пример отображаемых результатов выполнения команды:

    Активные подключения

    Имя     Локальный адрес     Внешний адрес     Состояние
    TCP         0.0.0.0:21                 0.0.0.0:0                 LISTENING
    TCP         0.0.0.0:135               0.0.0.0:0                 LISTENING
    RpcSs

    В колонке Локальный адрес имеется значение 0.0.0.0:21 , которое говорит о том, что программа с именем FileZilla Server.exe слушает (состояние LISTENING ) TCP порт с номером 21 на всех сетевых интерфейсах. Если в настройках FTP-сервера был указан конкретный интерфейс и другой номер порта, то это значение будет содержать IP:порт , например – 192.168.1.3:50021

    Для вывода результатов в постраничном режиме, можно воспользоваться командой:

    netstat -nab | more

    Или использовать поиск результатов по номеру порта: netstat -nab | find ":21"

    Если сервер недоступен на непетлевом интерфейсе, и доступен на петлевом - нужно разбираться с настройками брандмауэра.

    Настройка пользователей и групп.

    Настройка пользователей и групп выполняется через меню "Edit" - "Users" ("Groups"). Группы создавать необязательно, но иногда удобно, для тех случаев, когда имеется большое количество пользователей, и их права по отношению к FTP-серверу различаются. Настройки и групп и пользователей практически идентичны:

    В данном примере отображен результат добавления пользователя FTP-сервера с именем user1 имеющего полные права на запись, чтение, удаление и слияние файлов, а также на просмотр содержимого, удаление и создание подкаталогов в каталоге C:\ftp\public

    На странице General выполняется добавление, удаление и изменение свойств пользователей.
    На странице Shared Folders выполняются настройки, определяющие перечень каталогов файловой системы, которые будут использоваться FTP-сервером для предоставления доступа к ним по протоколу FTP. Каждому пользователю или группе пользователей может предоставлен свой каталог с определенными правами по отношению к его содержимому.
    На странице Speed limits можно задавать ограничения по скорости обмена данными.
    На странице IP Filter можно задать правила фильтрации для IP - адреса пользователя, указав адреса с которых запрещено или разрешено подключение к серверу.

    Список основных команд FTP

    ABOR - Прервать передачу файла
    CDUP - Сменить директорию на вышестоящую.
    CWD - Сменить текущую директорию.
    DELE - Удалить файл (DELE filename).
    HELP - Выводит список команд принимаемых сервером.
    LIST - Возвращает список файлов директории. Список передается через соединение данных (20 порт).
    MDTM - Возвращает время модификации файла.
    MKD - Создать директорию.
    NLST - Возвращает список файлов директории в более кратком формате чем LIST. Список передается через соединение данных (20 порт).
    NOOP - Пустая операция
    PASV - Войти в пассивный режим. Сервер вернет адрес и порт к которому нужно подключиться чтобы забрать данные. Передача начнется при введении команд RETR, LIST и т.п.
    PORT - Войти в активный режим. Например PORT 12,34,45,56,78,89. В отличие от пассивного режима для передачи данных сервер сам подключается к клиенту.
    PWD - Возвращает текущую директорию сервера.
    QUIT - Отключиться
    REIN - Реинициализировать подключение
    RETR - Скачать файл. Перед RETR должна быть команда PASV или PORT.
    RMD - Удалить директорию
    RNFR и RNTO - Переименовать файл. RNFR - что переименовывать, RNTO - во что.
    SIZE - Возвращает размер файла
    STOR - Закачать файл на сервер. Перед STOR должна быть команда PASV или PORT.
    SYST - Возвращает тип системы(UNIX, WIN,)
    TYPE - Установить тип передачи файла(A- текстовый ASCII, I - двоичный)
    USER - Имя пользователя для входа на сервер

    Пример FTP-сессии

    FTP-клиент подключается к серверу с именем пользователя user1 , пустым паролем и скачивает файл с именем cpu-v . Красным цветом выделены сообщения FTP-сервера, синим - FTP-клиента. Обмен директивами и параметрами может незначительно отличаться для разных версий программного обеспечения FTP-клиента и FTP-сервера.

    После подключения, сервер передает клиенту сведения о себе:
    220-FileZilla Server version 0.9.45 beta
    220-written by Tim Kosse ([email protected])
    220 Please visit http://sourceforge.net/projects/filezilla/
    Клиент передает имя пользователя:
    USER user1
    Сервер запрашивает ввод пароля:
    331 Password required for user1
    Клиент передает пустой пароль:
    PASS
    Сервер проверяет учетную запись пользователя и сообщает о начале сеанса:
    230 Logged on
    Клиент запрашивает тип операционной системы на сервере:
    SYST
    Сервер сообщает, что тип Unix , эмулируемый Filezilla-сервером:
    215 UNIX emulated by FileZilla
    Клиент запрашивает перечень параметров, поддерживаемых сервером:
    FEAT
    Сервер отвечает перечнем поддерживаемых параметров:
    211-Features:
    MDTM
    REST STREAM
    SIZE
    MLST type*;size*;modify*;
    MLSD
    UTF8
    CLNT
    MFMT
    211 End

    Клиент запрашивает текущий каталог сервера:
    PWD
    Сервер сообщает, что текущий каталог – корневой ("/"):
    257 "/" is current directory.
    Клиент сообщает, что будет передавать двоичные данные:
    TYPE I

    Сервер подтверждает тип передаваемых данных:
    200 Type set to I
    Клиент сообщает, что будет использовать пассивный FTP-режим:
    PASV
    Сервер сообщает о переходе в пассивный режим и передает IP и порт для пассивного FTP-режима.
    227 Entering Passive Mode (212,248,22,114,195,97)
    Клиент запрашивает прием файла с именем cpu-v из текущего каталога сервера
    RETR cpu-v
    Сервер сообщает о начале передачи данных:
    150 Opening data channel for file download from server of "/cpu-v"
    По завершении, сервер сообщает об успешной передаче:
    226 Successfully transferred "/cpu-v"

    В заключение добавлю, что проект Filezilla включает в себя не только разработку и поддержку качественного бесплатного FTP-сервера, но и популярного бесплатного FTP-клиента

    Статья с кратким описанием бесплатного FTP клиента для Linux, Mac OS и Windows. Данный FTP клиент поддерживает множество прикладных протоколов передачи данных - FTP, FTP поверх SSL/TLS (FTPS), SSH File Transfer Protocol (SFTP), HTTP, SOCKS и FTP-Proxy. Другими словами, Filezilla FTP Client - это универсальное программное обеспечение для приема и передачи файлов по всем современным прикладным протоколам между узлами на различных платформах.

    Сегодня по плану - все о технологии FTP. Расскажу, что такое ftp-серверы и аккаунты (доступы), где используются и как применяется.

    FTP — что это такое?

    FTP - стандартный TCP-сетевой протокол для передачи файлов, используемый чтобы организовать отправку и прием файлов с удаленного компьютера или сервера.

    Чтобы передать файл по TCP-порту через протокол ФТП, FTP-клиенту нужно связаться с настроенным и запущенным FTP-сервером. Подобная организация передачи файлов наиболее часто используется веб-разработчиками - когда с ПК нужно получить доступ к «внутренностям» сайта и что-нибудь там изменить, улучшить.

    Как и HTTP (что это такое?), протокол FTP построен на «клиент-серверной» архитектуре и использует несколько сетевых соединений, чтобы передавать команды и файлы между «клиентом» и «сервером».

    Доступ к сайту по фтп аккаунту - что это? Это функция, позволяющая просматривать, изменять, скачивать и загружать файлы. Для получения клиентом доступа к FTP-серверу сайта нужно пройти аутентификацию - ввести логин и пароль. Для отправки имени используется команда «USER», для отправки пароля - команда «PASS».

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

    У FTP предельно простой синтаксис, описанный в спецификации RFC1738 (данные в квадратных скобках необязательны для заполнения) - ftp://[[:]@][:]/.

    Пример 1 - ftp://ftp..txt

    Пример 2 - ftp://UNIQUE_USER:[email protected]

    Также есть т.н. «анонимный FTP» - когда любой пользователь может анонимно подключиться к ФТП серверу без предоставления данных USER/PASS. Для сессий такого типа предоставляется ограниченный доступ.

    Пользователи осуществляют анонимный вход как «anonymous» (имя пользователя), но бывает и так что просят ввести email-адрес вместо пароля. Конечно же, никто не проверяет эти адреса на предмет достоверности.

    Анонимный FTP-хосты достаточно популярны, ведь они часто используются для скачивания и обновления ПО на ПК. Более того, доступ может быть организован и через обычные браузеры - ведь они могут напрямую извлекать файлы с FTP-серверов. Происходит это очень просто - при указании FTP-адреса фтп-контент предоставляется точно также как веб-контент при HTTP. А в браузере Фаерфокс можно даже установить полноценный FTP-клиент - FireFTP.

    Несмотря на то что работать с FTP можно в браузере, FTP довольно сильно отличается от HTTP:

    Особенности протокола FTP:

    1. Использование множественного подключения, минимум - двойного. Один канал - управляющий, через него поступают команды для фтп-сервера и возвращаются ответы; другие каналы используются для передачи данных: одна передача - один канал (для каждого открывается TCP-порт). Благодаря этому свойству, в обоих направлениях одновременно можно передавать несколько файлов, а управляющий поток остается открытым на все время ftp-сессии.
    2. В FTP-протоколе есть двоичный режим передачи данных - при котором уменьшается время передачи файлов и расход трафика. В HTTP такого нет.
    3. По FTP-протоколу проводятся операции в рамках одной сессии с помощью TCP/IP - пока сервер «не забыл» текущее состояние и авторизованного пользователя. В HTTP сессий нет: он просто отдает данные.

    FTP имеет три режима передачи данных:

    • Поточный - непрерывная передача данных в виде потока (без обработки, обработка выполняется TCP);
    • Блочный - FTP делит данные на блоки (заголовок, поле данных, размер файла в байтах) и передает их TCP;
    • Режим сжатия данных единым алгоритмом.

    Что такое безопасный FTP: FTPS и FTPES, SFTP, SSH-FTP?

    Вы наверное уже поняли, что обычный FTP не является безопасным, потому что данные не шифруются при передаче. Это можно исправить, например используя протокол SSH, который зашифрует пару логин:пароль и передаваемое содержимое. Сейчас расскажу подробнее обо всех безопасных FTP - FTPS, SFTP, SSH-FTP.

    Откровенно говоря, FTP и не задумывался как безопасный при создании. Так его и сделали с многочисленными уязвимостями, список которых на 1999 год был примерно таким: захват портов и перехват пакетов, сниффинг и спуффинг, брутфорс и скрытые атаки.

    FTP был разработан до TLS/SSL и просто физически не может шифровать свой трафик, поэтому любой человек, который способен перехватить пакет по сети, получит данные к именам пользователей, паролям, командам, а значит обретет доступ к приватному FTP-серверу. А доступ к FTP сайта это очень важно - можно много дел натворить.

    Решение этой проблемы - использование защищенных версий протокола ФТП. Например, неявный FTPS это TLS-защищенная версия FTP, а SFTP/SCP защищены Secure Shell. Расскажу подробнее о защищенных FTP.

    Явный FTPS (FTPES, FTP over Explicit SSL/TLS) - расширенный FTP, создающий возможность «клиентам» требовать шифрование FTP-сессии при использовании команды «AUTH TLS». В ответ на нее, сервер может позволить создать такое соединение или отклонить запрос. Порт - 21. Есть еще неявный FTPS (требует SSL- или TLS-соединение), но он устарел.

    SFTP (англ. «SSH File Transfer Protocol») - расширение протокола SSH. Он никак не связан с FTP, но точно также передает файлы и использует те же команды. SFTP использует Secure Shell (SSH) для передачи файлов, т.е. шифрует и файлы, и команды (не передает данные по сети в открытом виде). Порт - 22 или 2222. Функционально SFTP близок к FTP и очень похож на него, но клиенты стандартного ФТП не могут подсоединиться к SFTP-серверу, как и наоборот.

    SFTP, используемый как подсистема второй версии реализации протокола SSH, имеет ряд преимуществ перед FTP:

    • Поддержка аутентификации «без пароля» с помощью SSH-ключей более безопасная, чем если хранить пароль на диске или вводить вручную;
    • Поддержка символических ссылок;
    • SFTP-соединение более быстрое и надежное, когда в FTP бывают тормоза и перебои;
    • SFTP-клиенты обладают возможностями прерывания и возобновления передачи файла, его удаления; загруженные файлы могут иметь метки времени, связанные с атрибутами файлов - а в FTP нет условйи для загрузок.

    FTP через SSH (обратите внимание, SSH-FTP это не SFTP) - осуществляет обычную FTP-сессию, соединяясь через безопасный SSH-туннель. Такое тунеллирование затруднительно, т.к. FTP открывает несколько TCP-соединений. Это значит, что при установке несколькими SSH-клиентами туннеля для канала управления (по порту 21) защищенным будет только этот один канал, а передача данных пойдет по вновь созданным каналам данных (TCP-соединения), обходящим SSH и от этого являющимися небезопасными.

    Еще раз повторю, не нужно путать FTP через SSH с FTPS, SFTP, SCP - последние более безопасные.

    Что такое FTP-сервер?

    FTP-сервер - «библиотека» файлов на хостинге , используется для хранения файлов разных форматов. Соединение между FTP-сервером и FTP-клиентом происходит по протоколу передачи данных FTP.

    Самые популярные ftp-сервера это vsftpd и proftpd. Их настройка осуществляется в файлах.ftpaccess.

    ФТП-сервера нужны для того, чтобы размещать на них для публичного и приватного скачивания больших объемов данных: как по количеству файлов, так и по их размеру. Часто такие сервера используются для анонимного (гостевого) доступа к размещенным в открытом виде дистрибутивов ПО, музыки и фото. Доступ для анонимов как правило позволяет только просматривать каталоги и скачивать требуемую информацию, но на некоторых серверах наоборот - есть спецкаталоги, куда любой аноним может загрузить файл для обмена.

    При неанонимном доступе возможности пользователя шире (можно загружать файлы), но строго ограничиваются тем каталогом, куда ему предоставлен доступ, даже если «выше» или «по соседству» есть другие каталоги с файлами других пользователей.

    Несмотря на то, что работа с FTP-серверами может быть организована из браузера, я бы рекомендовал пользоваться программами-клиентами - в случае обрыва связи с сервером они позволят докачать файл как только связь будет восстановлена.

    Ну и кратко о наиболее популярных FTP-клиентах - программах для доступа к FTP-серверам с шифрованием передаваемых данных:

    • WS_FTP;
    • LeechFTP;
    • CuteFTP;
    • FileZilla - самый популярный FTP-клиент для Windows/Mac/Linux. Есть поддержка FTPS, SFTP.
    • FAR Manager - самый «древний» консольный файловый менеджер для Виндоуса. Очень простой, имеет много плагинов, поддерживает SFTP (нужен плагин WinSCP).
    • Total Commander - теряет популярность (на любителя) и поддерживает FTPS. Плагины для SFTP, к сожалению, устаревшие.
    • FireFTP - а это вообще плагин для Мозиллы Фаерфокс. Есть поддержка FTPS, SFTP.
    • Cyberduck - фтп клиент для маков, поддерживает FTP/SFTP.
    • WinSCP - минималистичный и красивый SCP-, FTP- и SFTP-клиент для Виндоуса.

    Лично я пользуюсь WinSCP.

    Подведу итог. В чистом виде, ФТП не предназначен для безопасной передачи файлов по сети, хоть и является стандартом. Я рекомендую более безопасные протоколы с шифрованием FTPS и SFTP.

    Успехов при работе по FTP!

    FTP (File Transfer Protocol) - один из стандартных протоколов, созданный для TCP/IP и утвержденный в 1971 году. Применяется для загрузки сетевых страниц с частных устройств на серверы хостинга.

    Что такое FTP

    Формально FTP подразумевает подключение к определенной папке, которая находится на сервере, посредством Интернет. Несмотря на внушительный возраст, этот протокол до сих пор используется для передачи файлов, доступа к удаленным хостам и распространения программного обеспечения.

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

    Функции FTP

    Для работы с протоколом используют стандартные UNIX-команды. С их полным перечнем можно ознакомиться, набрав в специальной строке «help» или «?». Наиболее часто используются следующие команды:

    • open - устанавливает связь с FTP-сайтом. Применяется при обращении к разным серверам во время одного сеанса работы. Требует предварительного закрытия предыдущей FTP-площадки командой close ;
    • user - используется для повторного ввода имени и пароля пользователя для аутентификации. Функция необходима в тех случаях, когда удаленная машина допускает пользователей с определенными параметрами;
    • bye или quit - используется параллельно с close , закрывает все связи и завершает выполнение программы;
    • remotehelp - открывает справочную информацию по командам, которые поддерживает удаленный FTP-сервер.

    При работе с функциями необходимо придерживаться следующих правил:

    • использовать символ «/» для разделения каталогов;
    • следить за употреблением строчных и прописных букв (важен регистр);
    • использовать префиксы, которые начинаются с точки (опционально).

    Команды и чаще всего вспомогательные программы для FTP-соединений позволяют загружать на сервер файлы с компьютера и в обратном направлении, а также менять права доступа к отдельным объектам.

    Программы для FTP-соединения

    Специализированное ПО используется для эффективной и наглядной работы с FTP-серверами. Большинство приложений ориентировано не только на профессионалов, но и на новичков, которые легко справятся с интуитивно понятным интерфейсом. Рассмотрим самые популярные программы, выполняющие функции FTP-клиентов.

    Far Manager

    Far Manager - пример консольного файлового менеджера, разработанного под ОС Windows российским программистом Евгением Рошалом. Программа отличается узнаваемым двухоконным интерфейсом и стандартной сине-белой цветовой схемой. Управление осуществляется через систему команд, вводимых с клавиатуры. При работе с FTP поддерживается доступ через различные типы прокси-серверов, выполнение поиска и замены символов во множестве файлов срабатывает автоматическая докачка. Является свободно распространяемым ПО.

    Total Commander

    Total Commander имеет собственный FTP-клиент, который позволяет выполнять все стандартные операции с файлами и папками: копировать, вырезать, создавать, переименовывать, удалять, просматривать, редактировать. Следует учесть, что доступы к FTP сохраняются в клиенте автоматически и хранятся незашифрованными. Total Commander является свободно распространяемым ПО.

    FileZilla

    FileZilla - популярный FTP-клиент с открытым кодом и мультиязычным интерфейсом. Разработан для ОС Windows, Linux и Mac OS. Поддерживает FTP через SSL/TLS (он же FTPS), IPv6, IDN. Работает с нелатинскими доменными зонами, способен передавать файлы большого объема (от 4 ГБ), позволяет настраивать ограничения по скорости скачивания и передачи. Реализована поддержка Drag-and-drop, удаленное редактирование файлов, работа с вкладками и очередью загрузки. Является свободно распространяемым ПО.

    WinSCP - удобный графический клиент для работы с FTP. Предназначен для использования в среде ОС Windows. Поддерживает копирование файлов в защищенном режиме, автоматизацию при помощи скриптов, интеграцию с Pageant, а также выделяется узнаваемым интерфейсом в стиле Norton Commander. В клиенте предусмотрена возможность сохранения настроек соединения, синхронизация папок по настраиваемым алгоритмам, есть встроенный текстовый редактор. Является свободно распространяемым ПО.

    FireFTP - не отдельное приложение, а расширение для популярного браузера Mozilla FireFox. Предоставляет доступ к FTP-серверу в отдельной вкладке. После инсталляции расширение можно найти в панели «Инструменты». Клиент работает в двухоконном режиме и позволяет выполнять стандартные операции: перемещение, добавление, переименование, удаление. Реализована поддержка нескольких учетных записей, шифрование соединений, изменение прав доступа к файлам и их редактирование без предварительной загрузки на ПК. Является свободно распространяемым ПО.

    Конкретный клиент для работы можно выбрать исходя из того, для чего нужен FTP и каковы задачи работы на сервере.

    Как подключиться к хостингу через FTP

    Выберите подходящий клиент и установите его на свой ПК. Далее используйте для входа на хостинг следующую информацию:

    • логин и пароль;
    • хост или адрес сервера;
    • порт для подключения (необходимо указывать «21»).

    Дополнительно может потребоваться указание типа сервера и способа входа. Далее необходимо нажать кнопку для подключения и начать работу с файлами и папками. Чтобы выбрать, чем открыть FTP, обратитесь к предыдущему пункту.