Что такое фтп сервер?

Протокол FTP (SFTP, FTPS) — что это такое, соединение между клиентом и сервером по ФТП | Создание сайтов и заработок в сети

Что такое фтп сервер?

Здравствуйте, уважаемые читатели блога Goldbusinessnet.com. Очередным шагом на пути познания механизма передачи информации в интернете станет изучение FTP, посредством которого можно в том числе работать с любыми файлами на удаленном сервере.

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

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

Что такое FTP и в чем его отличие от HTTP

Итак, аббревиатура FTP означает «File Transfer Protocol» и переводится с английского на русский как «протокол передачи файлов». Как и HTTP, файловая передача основывается на модели, состоящей из совокупности протоколов TCP/IP (Transmission Control Protocol/Internet Protocol), на которой и базируется современный интернет.

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

Вообще, чтобы получше понять суть сегодняшней темы и осмыслить те нюансы, которые будут разобраны нами далее, лучше сразу обратить внимание на основные отличия между FTP и HTTP, выделенные в ниже следующей табличке:

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

Взаимодействие между Клиентом и Сервером по ФТП

Перед тем, как продолжить, необходимо определиться с еще некоторыми терминами, которые будут совсем не лишними для восприятия картины в целом.

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

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

Ярким примером ФТП-сервера может служить server хостинга (что означает этот термин), на котором «живет» сайт. Эта информация для вебмастеров не является тайной за семью печатями, но вот тем, кто только планирует заняться сайтостроением, будет как раз к месту.

FTP client — это программа, позволяющая подключиться к удаленному серверу по ФТП и также выполнять на нем необходимые действия с элементами файловой системы. К слову, клиентом вполне может быть браузер, в адресную строку которого следует ввести урл, представляющий собой путь (c протоколом FTP) до определенного каталога или файла на удаленном сервере, в соответствии с общей блок-схемой URL:

ftp://login:password@goldbusinessnet.com/images/file-1.jpg

Или применить более сложный вариант, ежели используется порт, отличный от 21:

ftp://login:password@goldbusinessnet.com:35/images/file-1.jpg

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

Чтобы подключиться через уже настроенный клиент FileZilla к удаленному серверу, необходимо ввести название хоста, в качестве которого используется IP-адрес сайта, соответствующий его домену (что такое доменное имя и как его приобрести), имя пользователя, пароль и порт.

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

Но продолжим. Схематически взаимодействие «клиент-сервер» при ФТП-соединении можно наглядно представить следующим образом:

Если расписать этот процесс по пунктам, то получится примерно следующее:

  1. Пользователь активирует клиентское приложение и соединяется с сервером, введя логин и пароль.
  2. Устанавливается управляющее соединение между соответствующими модулями — интерпретаторами протокола со стороны клиента и сервера.
  3. Пользователь посредством клиента посылает команды серверу, определяющие различные параметры FTP-соединения (активный или пассивный режим, порт, вид передачи данных, их тип), а также директивы для действий, которые юзер намерен осуществить (например, удалить, переименовать, закачать файл и т.д.).
  4. После того, как установлены все необходимые параметры, один из участников (к примеру, клиент), являющийся пассивным, становится в режим ожидания открытия соединения на порт, который задан для передачи информации. Затем активный участник открывает соединение и начинает передавать данные по предназначенному для этого каналу.
  5. По завершении передачи это соединение закрывается, но управляющий канал между интерпретаторами остается открытым, вследствие чего пользователь в рамках той же сессии может вновь открыть передачу данных.

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

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

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

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

ftp://goldbusinessnet.com/images/file-1.jpg

На практике при анонимном ФТП обычно в качестве логина для доступа применяется известное в сети слово «anonymous», а в качестве пароля — адрес электронной почты, который, впрочем, в большинстве случаев не проверяется.

Безопасный ФТП (SFTP, FTPS и с использованием SSH)

Этот протокол изначально не задумывался как защищенный, так ка разрабатывался в далеком 1971 году и использовался поначалу лишь в научно-исследовательской сети APRANET, доступ в которую имели только несколько военных объектов и университетов.

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

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

По этой причине были разработаны несколько методов, позволяющих зашифровать передаваемую посредством ФТП информацию. Вкупе все эти способы получили обобщающее и емкое название «Безопасный FTP». Вот какие разновидности протокола соответствуют этому термину:

1. FTPS (FTP + SSL) — фактически это расширение стандартного протокола передачи файлов, которое обеспечено криптографическим протоколом SSL (Secure Sockets Layer — уровень защищенных сокетов). На сегодняшний день более передовым его аналогом является TLS (Transport Layer Security — защита транспортного уровня). При этом есть два метода предоставления безопасности:

1.1. Неявный является устаревшим и использует стандартный протокол, требующий применения SSL или TLS, которые могут обеспечить шифрование информации. При таком методе обязательно нужно использовать порты, отличные от обычных, что создает неудобства, поскольку нарушается совместимость клиентов и серверов, не поддерживающих FTPS.

1.2. Явный — намного более удобный, так как применяет команды стандартного протокола FTP, но при отправке ответа зашифровывает информацию, что позволяет сохранить совместимость, поскольку в этом случае применяются одни и те же порты как для FTPS, так и для FTP. При этом для шифрования данных клиентом отправляется команда «AUTH TLS» или «AUTH SSL».

2. SFTP (SSH FTP) — протокол прикладного уровня для передачи файлов, который работает поверх безопасного канала, его не следует путать с «Simple File Transfer Protocol», имеющего такую же аббревиатуру. Если FTPS является просто расширением FTP, то SFTP это отдельный и никак не связанный с ФТП протокол, который снабжен SSH (Secure Shell — безопасная оболочка).

Читайте также  Плей маркет выдает ошибку сервера что делать?

Главное, в чем заключается его отличие от стандартного ФТП и ФТПС, это то, что СФТП шифрует абсолютно все команды, имена пользователей, пароли и другую конфиденциальную информацию. Так как это совершенно другая конфигурация, клиенты FTP (FTPS) не могут соединиться с SFTP-сервером.

3. FTP через SSH — производит обычную FTP-сессию через SSH-туннель, то есть этот вариант нельзя путать с SFTP, который является отдельным независимым протоколом. Этот метод нельзя назвать стопроцентно безопасным. Почему?

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

Надеюсь, вы не запутались во всех этих вариантах безопасных протоколов. Для того, чтобы как-то облегчить понимание, позволю себе сделать краткое резюме. Объективно обеспечивающим самую высокую степень защиты является SFTP. Немного уступает ему в надежности явный FTPS, однако он более удобен, поскольку дает возможность пользоваться обычными портами. Какой из них выбрать, зависит от вида задачи, которая перед вами стоит и, конечно, настроек сервера.

Источник: https://goldbusinessnet.com/kompyuter-i-internet/chto-takoe-ftp-sftp-ftps-protokol-soedinenie-klient-server/

FTP

Что такое фтп сервер?

Что такое FTP? File Transfer Protocol – протокол, используемый для передачи файлов по TCP/IP-сетям между клиентским компьютером и сервером. Это одна из самых популярных технологий обмена данными с серверами, расположенными по всему миру. Сам протокол был разработан в 1971 году, задолго до HTTP и TCP/IP.

Схема работы

Технически FTP-сервер представляет собой компьютер, к которому подключаются внешние пользователи. Они запускают на своих компьютерах специальный FTP-клиент, который делает попытку подключения. Клиент позволяет загружать и скачивать файлы с сервера. Клиентские FTP-программы могут быть встроены в операционную систему, web-браузер, HTML-редактор, файловые менеджеры, а также быть отдельными программами (FileZilla, Total Commander и другими). Взаимодействие между сервером и пользовательским компьютером выглядит следующим образом:

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

Подключение к FTP-серверу

Чтобы получить доступ к содержимому сервера, необходимо пройти аутентификацию в системе. Существуют также ресурсы, которые не подразумевают обязательную регистрацию, но ее отсутствие накладывает ограничения на возможности пользователя. Подключение к серверу происходит через браузер или клиентскую программу. В первом случае посетитель может только просматривать и скачивать файлы, но не может их редактировать. После ввода логина и пароля необходимо указать адрес сервера или хост. Также нужно указать порт соединения (21), если тот не указан автоматически.

Программы для работы с FTP-серверами

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

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

  • поддержка FTP через SSL/TLS (FTPS) и SSH File Transfer Protocol (SFTP);
  • поддержка IDN, IPv6, Drag-and-drop;
  • удаленное редактирование файлов;
  • работа с вкладками;
  • возможность приема и передачи больших объемов информации (более 4 Гб);
  • менеджер сайтов и очередь загрузки.

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

Far Manager. Также является свободно распространяемым ПО. Российская разработка, отличающаяся узнаваемым интерфейсом, выполненным в сине-белых цветах. Управление осуществляется посредством ввода команд с клавиатуры. Доступ к FTP-серверам производится через различные типы прокси-серверов. Присутствует функция автоматической докачки файлов.

WinSCP. Свободно распространяемый графический клиент. Обмен файлами производится в защищенном режиме. Также клиент может сохранять настройки, чтобы пользоваться ими для будущих соединений, синхронизировать папки по определенным алгоритмам и имеет возможность редактировать файлы.

FTP-архивы

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

  • свободно распространяемую. Доступ к файлам такого типа можно получить без специальной регистрации. Это может быть документация, программное обеспечение и другие файлы. При этом стоит учесть, что программное обеспечение, распространяемое таким образом, не обладает сертификатом качества, но и не скрывает своих разработчиков;
  • ограниченного пользования. К этой категории могут относиться ресурсы с ограниченным временем действия, например программы категории shareware, которые предоставляют определенное время для использования, после чего предлагают приобрести полную версию ПО;
  • защищенную информацию. Степень доступа к подобным файлам устанавливают их владельцы и предоставляют их пользователям только по определенной договоренности. Это может быть информация о частных благотворительных фондах, коммерческих архивах и других документах с закрытым доступом.

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

Источник: https://www.SEOnews.ru/glossary/ftp/

FTP сервер от А до Я

Что такое фтп сервер?

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

Что такое FTP и для чего он нужен

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

Сервер — это ПК, на котором открыт порт для приема и отправки данных, и создан хост, а клиент — это программа на другом или том же компьютере, при помощи которой пользователь может заходить в файловую систему по FTP.

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

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

С одной стороны, это может быть локальный сервер с фильмами для «своих» (сожителей и соседей, к примеру), с другой стороны, это может быть онлайн сервер внутри аккаунта хостинг-провайдера, который необходим для хранения файлов сайта: дистрибутивов, статей, конфигурационных данных, картинок, шаблона и т. д.

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

Так что вам либо придется забивать стопку файлов на свой компьютер, либо платить деньги. Аренда стоит по-разному: от 50 до 5000 рублей в месяц и более. Аренда обойдется вам дороже, если файлов много, и нужно пропустить на сервер несколько десятков пользователей.

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

Аренда FTP сервера понадобится вам только тогда, если хостом планируют пользоваться 10-20 клиентов и вы хотите разместить на удаленном компьютере файлов на 100-100 Гб. Учтите, что особенность FTP в том, что этот протокол не подходит для работы с большой аудиторией. То есть если хотите обслуживать сразу тысячу клиентов, то лучше создайте онлайн веб-сайт, который будет работать через протокол HTTP. А FTP нужен для четких целей. Например, для доступа к файловой системе сайта и для работы с большим количеством файлов.

Как можно создать сервер FTP

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

В операционных системах, похожих на Linux, создать сервер можно прямо из терминала. Это очень легко, и после первого раза вы быстро освоите этот навык. Для создания такого сервера в Linux и в подобных операционных системах используется сервис VSFTPD.

Это тот же протокол FTP, только с некоторыми особенностями, которые в работе вам абсолютно не помешают. Для начала вам нужно будет зайти в командную строку и через консоль ввести команду для установки сервиса VSFTPD: sudo apt-get install vsftpd. После этого вы сможете управлять папками и правами на них через тот же консоль.

Настройка сервера в операционной системе Linux и подобных OC при помощи сервиса VSFTPD проходит внутри файла vsftpd.conf. Он располагается в файловой системе компьютера в папке ETC. Найдите его и откройте при помощи текстового редактора. Внутри вы обнаружите множество строчек.

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

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

В Windows и вовсе можно сгенерировать сервер и сделать его онлайн при помощи стандартных возможностей операционной системы. Такое возможно благодаря тому, что Windows размещает множество служб в ОС по умолчанию, но не всех их активирует. Так что вы сможете создать сервер полностью free, даже не придется заходить в браузер, чтобы через него что-либо скачивать.

Итак, чтобы у вас был сервер, у которого есть свой адрес, и на который пользователи могут заходить и через клиент, и через браузер, вам нужно активировать некоторые компоненты Windows. Эта опция находится в «Панели управления» внутри вкладки «Программы и компоненты». В левом боковом меню вы найдете пункт для включения различных компонентов.

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

У него будет свой адрес, по какому пользователи и смогут подключиться к вашему серверу.

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

Вам нужно создать сначала группу пользователей, потом отдельного пользователя, а уже затем назначить всей группе права для корневого каталога сервера. Затем, вбивая адрес, они смогут зайти к вам на сервер через браузер или клиент.

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

Как создать сервер при помощи специальных программ

С другой стороны, вы можете не использовать стандартные возможности операционной системы, а получить сервер на компьютере, благодаря различным программам. Есть большое множество free ПО, которое отлично справляется с генерацией сервера. Некоторые из таких программ являются portable.

Чтобы вы понимали, portable — это когда программу можно транспортировать на различные устройства. То есть программа portable устанавливается не на сам диск, а на удаленное устройство.

Затем, вы можете вставить это съемное устройство на другой ПК и portable программа будет по-прежнему работать, хоть вы и не устанавливали ее на текущий компьютер.

Одна из лучших программ, поддерживающих portable, и которая относится к ценовой категории free — это FileZilla. Есть версия этой программы как для сервера, так и для клиента. Учтите, что как клиент portable, так и сервер FileZilla является portable. Так что вы сможете единожды установить программу на флешку, а затем путешествовать со своим сервером по разным ПК, благодаря возможности portable. Помимо опции portable, FileZilla славится большой скоростью работы, и простотой пользования (вы точно сумеете создать сервер и отыскать его адрес в этой программе).

Есть и другие portable программы для создания сервера. Список FTP серверов, а точнее ПО для их создания, можно пополнять бесконечно. Все зависит от ваших целей. Если хотите получить домашний сервер, то подойдет программа Home FTP Server. В адрес этого приложения написано много лестных отзывов, так как Home FTP Server прекрасно подходит для новичков. Вы быстро сможете получить свой домашний сервер, указать для него адрес и добавить новые аккаунты клиентов благодаря Home FTP server. И хоть Home FTP server работает на английском, но это никак не повлияет на понимание функций программы.

Чтобы создать в Home FTP server новых пользователей, жмите New account. Через Home FTP server вы сможете как добавить анонимных пользователей, так и обычных с обязательной авторизацией. Кроме того, в этой программе можно удобно настраивать права доступа для разных клиентов. Вы сможете следить за их активностью. И самое главное, что Home FTP server, как и FileZilla, работает посредством интерфейса, а не командной строки, что весьма удобно.

Как войти на сервер

Есть только один способ, как зайти на FTP сервер — это скачать какой-либо клиент или браузер и подключиться через него к серверу, введя необходимый адрес и данные для входа. Такое объяснение, скорее всего, покажется вам сложным, но на деле все очень просто. Главное — это чтобы вы знали адрес сервера. Узнать адрес можно либо от администратора сервера, либо в Интернете, если это какой-то публичный хост. И помните, что прежде чем подключиться к серверу, на нем обязательно должен быть создан ваш аккаунт.

Если вы и создаете, и управляете сервером через клиент при помощи одного компьютера, то лучше используйте в работе FileZilla. Эта программа, как уже говорилось, есть и в виде сервера, и в виде клиента. А если хотите, то можете установить другую — Total Commander, но учитывайте, что Тотал платный, и придется искать в Интернете бесплатную или демо-версию этой программы.

Источник: http://e-webmaster.ru/ftp/ftp-server-ot-a-do-ya.html

Что такое FTP и зачем оно нужно — Журнал «Код»: программирование без снобизма

Что такое фтп сервер?

Это очень надёж­но, но очень небез­опас­но.

Когда интер­нет толь­ко зарож­дал­ся, но уже были ком­пью­тер­ные сети, воз­ник­ла потреб­ность пере­да­вать фай­лы от одно­го ком­пью­те­ра к дру­го­му. В 1971 году кана­лы пере­да­чи дан­ных были не такие надёж­ные (и не такие быст­рые), как сей­час, поэто­му нужен был инстру­мент, кото­рый помо­жет обме­ни­вать­ся доку­мен­та­ми друг с дру­гом на рас­сто­я­нии.

Основ­ные тре­бо­ва­ния были такие: про­сто­та рабо­ты и надёж­ность при отправ­ке и полу­че­нии. Таким инстру­мен­том стал FTP-протокол.

Принцип работы

FTP рас­шиф­ро­вы­ва­ет­ся как File Transfer Protocol — про­то­кол пере­да­чи фай­лов. Он отли­ча­ет­ся от дру­гих про­то­ко­лов тем, что если в про­цес­се пере­да­чи воз­ни­ка­ет какая-то ошиб­ка, то про­цесс оста­нав­ли­ва­ет­ся и выво­дит­ся сооб­ще­ние для поль­зо­ва­те­ля. Если оши­бок не было, зна­чит, поль­зо­ва­тель полу­чил имен­но тот файл, кото­рый нужен, в цело­сти и без недо­ста­ю­щих эле­мен­тов.

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

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

Про­грам­ми­сты ино­гда исполь­зу­ют такие сер­ве­ры для обме­на фай­ла­ми и для бэка­пов кода, хотя мно­гие для это­го пред­по­чи­та­ют GIT. Про него ещё пого­во­рим отдель­но.

Клиент и сервер

Для рабо­ты по FTP нуж­ны двое: FTP-сервер и FTP-клиент. Что дела­ет сер­вер:

  • обес­пе­чи­ва­ет доступ по логи­ну и паро­лю к нуж­ным фай­лам;
  • пока­зы­ва­ет поль­зо­ва­те­лю толь­ко те фай­лы и пап­ки, кото­рые он может про­смат­ри­вать или загру­жать в них;
  • сле­дит за каче­ством пере­да­чи и смот­рит, что­бы не было оши­бок;
  • управ­ля­ет пара­мет­ра­ми соеди­не­ния в пас­сив­ном режи­ме.

Так как FTP при­шёл к нам из вре­мён UNIX-систем, то любое соеди­не­ние тре­бу­ет логи­на и паро­ля. Если у поль­зо­ва­те­ля его нет, сер­вер его не про­пу­стит. Но что­бы сде­лать фай­лы доступ­ны­ми для всех, исполь­зу­ют ано­ним­ный режим. В нём логи­ном будет сло­во anonymous, а паро­лем — любой адрес элек­трон­ной почты. Совре­мен­ные бра­у­зе­ры уме­ют сами захо­дить на ано­ним­ные FTP-серверы и под­став­лять почту. Со сто­ро­ны это выгля­дит так, как буд­то ника­ко­го логи­на и паро­ля нет, но они есть.

Когда запус­ка­ет­ся FTP-сервер, ему гово­рят: «Ува­жа­е­мый сер­вер, вот спи­сок фай­лов и папок, кото­рые нуж­но пока­зы­вать на сер­ве­ре. Если к тебе посту­чит­ся поль­зо­ва­тель с таким-то логи­ном и паро­лем, то пока­жи ему всё, а если с вот таким логи­ном — то дай ему одну толь­ко эту пап­ку. Ано­ни­мов не пус­кать». Ещё один обя­за­тель­ный пара­метр — адрес сер­ве­ра и порт, по кото­ро­му будет идти пере­да­ча фай­лов.

Что­бы под­клю­чить­ся к сер­ве­ру, нуж­на спе­ци­аль­ная про­грам­ма, их ещё назы­ва­ют FTP-клиентами. Для каж­дой опе­ра­ци­он­ной систе­мы есть мно­го сво­их кли­ен­тов, напри­мер, FileZilla или CuteFTP. Те, кто рабо­та­ет в Linux-подобных систе­мах, часто исполь­зу­ют команд­ную стро­ку.

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

В чем смысл вообще

Ну и каза­лось бы — что меша­ет пере­да­вать фай­лы, как обыч­но, через сай­ты по про­то­ко­лу HTTP? Пол­но же сай­тов и фору­мов, на кото­рых лежат фай­лы, и их мож­но спо­кой­но ска­чать. 

А раз­ни­ца вот в чем: 

  • Для FTP не нужен сайт, то есть веб-интерфейс. Не нуж­но запус­кать веб-сервер, настра­и­вать шаб­ло­ны выво­да спис­ка фай­лов и под­ни­мать отдель­ную про­грам­му, кото­рая будет нам отда­вать эти фай­лы (типа Ворд­прес­са). FTP — это как доступ к уда­лен­ной пап­ке: ты сра­зу видишь фай­лы и можешь их качать, без посред­ни­ков. А в вебе нуж­на какая-то про­грам­ма, кото­рая «нари­су­ет» тебе фай­ло­вую систе­му и поста­вит ссыл­ки на фай­лы. 
  • В FTP уже реа­ли­зо­ва­ны вопро­сы авто­ри­за­ции и прав. А в вебе их нуж­но созда­вать: напри­мер, ста­вить тот же Ворд­пресс и к нему при­кру­чи­вать пла­ги­ны с систе­мой досту­па. Или настра­и­вать Apache, гене­ри­ро­вать клю­чи досту­па, рас­кла­ды­вать кон­фи­гу­ра­ци­он­ные фай­лы по пап­кам — это гораз­до менее эле­гант­но, чем настрой­ка FTP.
  • В FTP мож­но раз­ре­шить или запре­тить отдель­ным поль­зо­ва­те­лям загру­жать фай­лы на FTP-сервер. В вебе загруз­ка фай­лов от поль­зо­ва­те­ля на сер­вер — это на поря­док более слож­ная зада­ча. 
Читайте также  Активация Windows 10 через kms сервер

Уязвимости и надёжность

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

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

Сей­час по умол­ча­нию пред­по­ла­га­ет­ся, что каж­дый канал — нена­дёж­ный, и что дан­ные нуж­но допол­ни­тель­но шиф­ро­вать. FTP это­го не под­дер­жи­ва­ет. Если кто-то будет пере­хва­ты­вать ваш Wi-Fi-трафик или под­клю­чит­ся к вашей локаль­ной сети, то он смо­жет пере­хва­тить все эти дан­ные и ска­чать их себе, парал­лель­но с вами.

Ещё есть вопрос без­опас­но­сти вхо­да: по умол­ча­нию у FTP-протокола нет защи­ты от под­бо­ра паро­ля и попы­ток вхо­да, поэто­му кто-то может про­сто пере­брать доступ­ные паро­ли, что­бы полу­чить доступ к пап­кам. Если вы виде­ли в филь­мах про хаке­ров, как они там пере­би­ра­ют паро­ли при вхо­де — это вполне веро­ят­ная ситу­а­ция для FTP.

С точ­ки зре­ния совре­мен­ной без­опас­но­сти пра­виль­ным реше­ни­ем будет исполь­зо­вать одну из реа­ли­за­ций шиф­ро­ван­но­го FTP (FTPS, SFTP) или поль­зо­вать­ся FTP через VPN.

Источник: https://thecode.media/ftp/

Что такое FTP и как работать в Filezilla

Что такое фтп сервер?

FTP расшифровывается как File Transfer Protocol, то есть протокол, который используется для передачи файлов. Чаще всего вы можете услышать эту аббревиатуру в отношении глобальной сети – утилиты, работающие по протоколу FTP, помогают загружать файлы на серверы, что особенно полезно, если вы администрируете сайты.

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

Для того, чтобы воспользоваться FTP, вам только нужно убедиться, что сеть поддерживает протокол TCP/IP (по этому протоколу, например, работает Интернет).

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

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

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

Почему Filezilla?

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

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

Иными словами, незашифрованные данные, которые вы передаете по этому протоколу, могут быть перехвачены кем угодно – а если речь идет о личных данных (логинах, паролях), то вы можете представить, чем это может вам обернуться. Поэтому для того, чтобы обезопасить свои данные от кражи, необходимо использовать другие, безопасные протоколы FTPS или SFTP.

Filezilla отличается тем, что поддерживает эти протоколы (для того, чтобы использовать безопасный протокол, в программе необходимо выбрать «Файл» -> «Менеджер сайтов» -> во вкладке «Общие» изменить протокол с FTP на SFTP).

Другими преимуществами Filezilla являются бесплатное использование, поддержка русского языка и кроссплатформенность (можете установить это ПО на машины с Linux, Windows или даже Mac OS X). Чуть подробнее почитать можно на русскоязычном сайте http://filezilla.ru/ Там же вы найдете и документацию, а также полезные статьи.

Работа в Filezilla

Работать в Filezilla намного проще, чем может показаться на первый взгляд. Зачастую пользователи предпочитают проверенные пути вместо того, чтобы потратить несколько минут на изучение новой технологии. Поэтому постараюсь в этой статье максимально понятно рассказать о том, как же правильно использовать Filezilla в своих целях.

Установить Filezilla вы можете прямо с официального сайта: https://filezilla-project.org/download.php?type=client

Настройка Filezilla

Для того, чтобы настроить Filezilla, вам необходимо знать свой логин и пароль от панели управления, а также название хоста. Timeweb присылает эту информацию после регистрации в приветственном письме (там отдельно будут указаны данные для использования FTP), а также на главной странице панели управления (смотрим блок «Доступ по FTP»):

Теперь открывайте Filezilla и вводите все эти данные в соответствующие строки:

В поле «Порт» напишите 21 (этот порт использует FTP). Затем нажимайте «Быстрое соединение».

Внимание!
Иногда на этом этапе у вас может возникнуть ошибка ENETUNREACH — Сеть недоступна, из-за которой соединение не будет установлено. Решается данная проблема легко – выключением (или временным приостановлением) антивирусной программы.

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

Но каждый раз при запуске Filezilla заново вводить эти данные, согласитесь, неудобно, поэтому мы сделаем следующее:

  1. Открываем «Менеджер сайтов».
  2. Нажимаем «Новый сайт» (по желанию переименовываем его).
  3. Тип входа: вместо «Анонимный» ставим «Нормальный».
  4. Вводим все данные.
  5. Нажимаем «ОК» или «Соединиться»

Теперь после запуска программы вы можете просто нажать на стрелку вниз рядом со значком «Менеджер сайтов», выбрать аккаунт и подключиться к нему. Это особенно удобно, если у вас несколько сайтов на разных серверах.

Кстати, во вкладке «Дополнительно» вы можете указать путь к какой-то конкретной папке на сервере (строка «Удаленный каталог по умолчанию), и тогда при каждом подключении вы будете попадать не в корневой каталог, а в заданную папку.

Управление файлами

Я думаю, что чисто интуитивно вы уже разобрались, что папки, которые слева, — это то, что есть на вашем компьютере. А справа – то, что находится на хостинге.

Вы можете заходить в них, смотреть и т.д. – в общем, как на обычном компьютере. Точно так же осуществляется и перенос файлов/папок между вашим компьютером и сервером – просто перетащите нужный вам элемент из одной области в другую (drag-and-drop).

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

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

Хотите удалить или переименовать? Все точно так же возможно по щелчку правой кнопки мыши.

Аналогично вы можете и перейти к редактированию файлов (пункт «Просмотр/Правка»), при этом можно использовать как программу по умолчанию, так и выбрать какой-нибудь редактор. Чтобы настроить автоматическое открытие файлов другим редактором, выберите пункт «Редактирование» в верхнем меню, затем «Формат файлов» – и сделайте активным пункт «Использовать следующий редактор» (с последующим выбором нужной вам программы):

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

Работать с файлами можно и в отложенном режиме: допустим, вы выбрали файлы, которые вам нужно перенести на сервер – выберите их, нажмите правую кнопку мыши и строчку «Добавить файлы в задание» (даже в том случае, если вы не подключены к серверу). Они отобразятся в блоке ниже. Затем подключитесь к серверу, снова кликните правой кнопкой по ним и выберите «Выполнить задание» — все файлы будут перенесены на сервер.

Отдельно стоит рассказать о синхронизированном просмотре. Для того, чтобы его активировать, вам нужно нажать соответствующий значок чуть ниже верхнего меню (под надписью «Закладки»):

Зачем это использовать? Допустим, у вас на компьютере есть папка с файлами вашего сайта – точно такими же, как и на хостинге. Файлов, как и папок, может быть очень много – и вот для удобства ориентирования в них и был добавлен такой режим: переходя из папки в папку в одном окне (допустим, серверном), вы будете точно так же, синхронно переходить в окне, где отображается содержимое вашего компьютера. Режим позволит вам не запутаться во множестве этих папок. Но, естественно, действует он лишь в том случае, если названия директорий полностью совпадают.

Заключение

Filezilla – это простой, удобный и функциональный инструмент для работы с файлами на сервере. К тому же он абсолютно бесплатный. Надеюсь, моя статья оказалась вам полезной. Если есть вопросы, спрашивайте – обязательно отвечу!

Источник: https://timeweb.com/ru/community/articles/chto-takoe-ftp-i-kak-rabotat-v-filezilla-1