Что такое ftp и как им пользоваться
Содержание:
- Создание и настройка FTP
- Бесплатный FTP сервер
- Клиент и сервер
- Схема протокола
- Безопасный FTP
- Запустить FTP клиент
- Справочная информация
- Что такое FTP-сервер
- Соединение с сервером
- Специфика
- Что располагается на FTP-серверах чаще всего
- Установка FTP FileZilla Server
- Серверная и клиентская часть протокола FTP
- История
- Передача файлов по FTP через терминал
Создание и настройка FTP
-
Раскройте панель управления компьютером.
-
Перейдите к разделу «Программы».
-
Перейдите к подразделу «Программы и компоненты».
-
Кликнете по вкладке «Включение и отключение компонентов».
-
В развернувшемся окошке найдите древо «Службы IIS» и активируйте все компоненты, в него входящие.
-
Сохраните результат и дождитесь, пока включённыеэлементы будут добавлены системой.
-
Возвратитесь к главной странице панели управления и перейдите к разделу «Система и безопасность».
-
Перейдите к подразделу «Администрирование».
-
Откройте программу «Диспетчер служб IIS».
-
В появившемся окошке обратитесь к древу, находящемуся в левой стороне программы, щёлкните правой кнопкой мышки по подпапке «Сайты» и перейдите к функции «Добавить FTP-сайт».
-
Заполните поле с названием сайта и пропишите путь до папки, в которую будут отправляться принимаемые файлы.
-
Начинается настройка FTP. В блоке IP-адрес поставьте параметр «Все свободные», в блоке SLL параметр «Без SSL». Включённая функция «Запускать сайт FTP автоматически» позволит серверу включаться самостоятельно каждый раз при включении компьютера.
-
Проверка подлинности позволяется выбрать два варианта: анонимный — без логина и пароля, обычный — с логином и паролем. Отметьте те варианты, которые подходят вам.
-
Создание сайта на этом завершается, но необходимо выполнить ещё некоторые настройки.
-
Возвратитесь к разделу «Система и безопасность» и перейдите из него к подразделу «Брандмауэр».
-
Откройте дополнительные параметры.
-
В левой половине программы сделайте активной вкладку «Правила для входящих подключений» и активируйте функции «FTP сервер» и «Трафик FTP-сервера в пассивном режиме», кликая по ним правой кнопкой мышки и указывая параметр «Включить».
-
В левой половине программы сделайте активной вкладку «Правила для исходящих подключений» и запустите таким же методом функцию «Трафик FTP-сервера».
-
Следующий шаг — создание новой учётной записи, которая получит все права по управлению сервером. Для этого возвратитесь к разделу «Администрирование» и выберите в нём приложение «Управление компьютером».
-
Находясь в разделе «Локальные пользователи и группы», выберите подпапку «Группы» и начните создание в ней ещё одной группы.
-
Заполните все необходимые поля любыми данными.
-
Перейдите к подпапке «Пользователи» и начните процесс создания нового пользователя.
-
Заполните все необходимые поля и завершите процесс.
-
Откройте свойства созданного пользователя и раскройте вкладку «Членство в группах». Кликнете по кнопке «Добавить» и внесите пользователя в группу, которую создавали чуть раньше.
-
Теперь перейдите к папке, которая отдана для использования сервером FTP. Откройте её свойства и перейдите к вкладке «Безопасность», кликнете в ней по кнопке «Изменить».
-
В открывшемся окошке кликнете по кнопке «Добавить» и внесите в список группу, которая была создана ранее.
-
Выдайте все разрешения внесённой группе и сохраните внесённые изменения.
-
Вернитесь к диспетчеру служб IIS и перейдите к разделу с созданным вами сайтом. Откройте функцию «Правила авторизации FTP».
-
Кликнете правой клавишей мышки по незаполненному месту в развернувшемся подпункте и выберите действие «Добавить разрешающее правило».
-
Отметьте галочкой пункт «Указанные роли или группы пользователей» и заполните поле именем зарегистрированной ранее группы. Разрешения необходимо выдать все: чтение и запись.
-
Вы можете создать ещё одно правило для всех остальных пользователей, выбрав в нём «Все анонимные пользователи» или «Все пользователи» и установив разрешение только на чтение, чтобы никто кроме вас не мог редактировать данные, хранящиеся на сервере. Готово, на этом создание и настройка сервера завершена.
Бесплатный FTP сервер
Выбор именно FTP сервера для хранения бекапов обусловлен тем, что это самый распространенный способ передачи данных, который реализован в большинстве панелей управления хостингом, будь то CPanel, ISPManager или VestaCP. То есть для создания резервной копии и передачи ее на удаленный сервер вам не надо устанавливать дополнительное программное обеспечение, все можно сделать прямо из панели управления. В том числе автоматическое создание бекапов по расписанию, к примеру каждый день в 5 часов утра.
В идеале для хранения бекапов лучше купить специализированный хостинг. Например облачное хранилище в компании Селектел. Но так как я в большинстве своих статей описываю продукты и решения которые позволяют сэкономить ваши деньги, то сегодня напишу о известных мне бесплатных способах хранения резервных копий.
Не бесплатный FTP сервер от net2ftp.ru
Данный сервис раньше предлагал бесплатно FTP сервер + доступ по Web (http), место на диске 20 Гб, скорость доступа 20 мбит/сек, 2 года хранения (если к файлу не обращались более 2-х лет, то он удаляется).
Чтобы зарегистрироваться достаточно ввести адрес электронной почты. Для хранения данных предлагают два сервера, один в России, другой в Словении.
И если Ваша почта test@test.ru. и Вы подключились к серверу node0.net2ftp.ru., в нем создали папку /public_http, и загрузили в нее файлы. То теперь эти файлы будут доступны по адресу http://net2ftp.ru/node0/test@test.ru/.
Я протестировал доступ к этому хранилищу из панели ISPmanager, все работает без сбоев уже несколько месяцев.
Бесплатный тариф хостинг 2×4.ru
Второе место, которое я использую в качестве бесплатного хранилища резервных копий — это бесплатный хостинг компании 2×4.ru.
Бесплатный тариф предлагает 3 ГБ дискового пространства. Что конечно же меньше, чем у предыдущей компании, но все так же бесплатно. И помня о том, что не нужно класть все яйца в одну корзину я складываю резервные копии сразу в два хранилища:
Клиент и сервер
Для работы по FTP нужны двое: FTP-сервер и FTP-клиент. Что делает сервер:
- обеспечивает доступ по логину и паролю к нужным файлам;
- показывает пользователю только те файлы и папки, которые он может просматривать или загружать в них;
- следит за качеством передачи и смотрит, чтобы не было ошибок;
- управляет параметрами соединения в пассивном режиме.
Так как FTP пришёл к нам из времён UNIX-систем, то любое соединение требует логина и пароля. Если у пользователя его нет, сервер его не пропустит. Но чтобы сделать файлы доступными для всех, используют анонимный режим. В нём логином будет слово anonymous, а паролем — любой адрес электронной почты. Современные браузеры умеют сами заходить на анонимные FTP-серверы и подставлять почту. Со стороны это выглядит так, как будто никакого логина и пароля нет, но они есть.
Когда запускается FTP-сервер, ему говорят: «Уважаемый сервер, вот список файлов и папок, которые нужно показывать на сервере. Если к тебе постучится пользователь с таким-то логином и паролем, то покажи ему всё, а если с вот таким логином — то дай ему одну только эту папку. Анонимов не пускать». Ещё один обязательный параметр — адрес сервера и порт, по которому будет идти передача файлов.
Чтобы подключиться к серверу, нужна специальная программа, их ещё называют FTP-клиентами. Для каждой операционной системы есть много своих клиентов, например, FileZilla или CuteFTP. Те, кто работает в Linux-подобных системах, часто используют командную строку.
Интерфейс CuteFTP для MacOS.
Работа с FTP в командной строке.
Такая схема работы часто используется в виртуальных хостингах, когда нужно получить доступ к содержимому сайта или изменить конфигурационные файлы.
Схема протокола
Взаимодействие «клиент-сервер» при FTP-соединении можно наглядно представить следующим образом:
Безопасный FTP
FTP изначально не задумывался как защищенный, поскольку предназначался для связи между несколькими военными объектами и учреждениями. Но с развитием и распространением интернета опасность несанкционированного доступа возросла во много раз. Возникла необходимость защиты серверов от различного рода атак. В мае 1999 авторы RFC 2577 свели уязвимости в следующий список проблем:
- Скрытые атаки (bounce attacks)
- Спуф-атаки (spoof attacks)
- Атаки методом грубой силы (brute force attacks)
- Перехват пакетов, сниффинг (packet capture, sniffing)
- Захват портов (port stealing)
Обычный FTP не обладает возможностью передачи данных в зашифрованном виде, вследствие чего имена пользователей, пароли, команды и другая информация могут при желании легко и просто быть перехвачены злоумышленниками. Обычное решение этой проблемы — использовать «безопасные», TLS-защищённые версии уязвимых протокола (FTPS) или же другой, более защищённый протокол, вроде SFTP/SCP, предоставляемого с большинством реализаций протокола Secure Shell.
Запустить FTP клиент
Запустите FileZilla и установите соединение с вашим сайтом.
Для этого откройте «Менеджер сайтов» (нажмите CTRL + S).
Создайте новый сайт и пропишите данные авторизации как на скриншоте.
При отсутствии у вас логина и пароля обратитесь к хостеру, он пришлет вам их еще раз.
Аккуратно скопируйте по очереди и логин и пароль.
Выберите тип входа «Нормальный» — в этом случае пароли сохранятся в программе и их не потребуется вводить каждый раз при подключении к сайту.
Далее вставляйте скопированные логин и пароль в соответствующие поля. Если логин и пароль корректны, и вы нигде ничего не напутали, то соединение успешно установится, и вы увидите примерно такое окно.
В левом окне вы увидите файлы вашего компьютера, за которым вы сейчас работаете.
Это может быть дистрибутив WordPress (как в примере) или любые другие папки.
В правом окне располагаются файлы из так называемого «удаленного компьютера», попросту из вашего сайта.
Там могут быть какие-то файлы или может не быть ничего, если вы подключаетесь к пустым сайтам и папкам.
Справочная информация
ДокументыЗаконыИзвещенияУтверждения документовДоговораЗапросы предложенийТехнические заданияПланы развитияДокументоведениеАналитикаМероприятияКонкурсыИтогиАдминистрации городовПриказыКонтрактыВыполнение работПротоколы рассмотрения заявокАукционыПроектыПротоколыБюджетные организацииМуниципалитетыРайоныОбразованияПрограммыОтчетыпо упоминаниямДокументная базаЦенные бумагиПоложенияФинансовые документыПостановленияРубрикатор по темамФинансыгорода Российской Федерациирегионыпо точным датамРегламентыТерминыНаучная терминологияФинансоваяЭкономическаяВремяДаты2015 год2016 годДокументы в финансовой сферев инвестиционной
Что такое FTP-сервер
По своей сути FTP – это специальный интернет-протокол, способствующий передаче информации между компьютером (клиентом) и сервером – специальным компьютером, предназначенным исключительно для работы с интернетом. Если быть кратко, то на серверах используются куда более производительные процессоры, нежели в обычных компьютерах.
Серверы были созданы для соединения компьютеров между собой. У каждого провайдера присутствуют свои серверы, у каждого хостинга, большого сайта, даже игры. Для подключения клиенту потребуется авторизоваться в системе, т. е. дать необходимый минимум данных о себе, дабы серверу было удобнее и эффективнее передавать различные данные на компьютер и обратно.
Если же представлять совсем упрощенно, то FTP-сервер является облачным хранилищем, которое используется так, как того пожелает его пользователь. На данный сервер могут быть загружены любые данные, вплоть до семейных фотографий на море. К слову, данный тип серверов можно спокойно приобрести на одном из различных сайтов по их продаже или аренде, но если хочется личный, то придется купить собственный серверный компьютер, подключить его к интернету, и вы получите собственный FTP-сервер, конечно, после его полной настройки в плане софта и т. д.
Соединение с сервером
Мы будем пользоваться такими данными для логина. Замените их на свой вариант, чтобы следить за работающим примером из этого руководства.
Hostname: example.org Username: john Password: 7PjU#.J3
В этом случае мы заполняем панель быстрого подключения:
Поле Порт: можно оставить незаполненным, если вы не используете специфический порт для подключения.
Примечание: если вы желаете точно указать порт, к примеру, SFTP или FTPS, введите имя хоста таким образом: sftp://hostname или ftps://hostname соответственно.
Теперь FileZilla может быть подключен к серверу. Если подключение произошло без ошибок, правая «колонка» клиента будет показывать список файлов и директорий вместо уведомления «Не подключен к серверу».
Специфика
Чтобы разобраться с вопросом, что располагается на «ФТП» серверах, приведем немного теории. Интернет работает на базе разнообразных элементов. При этом, FTP сервер относится к наиболее популярным
Следует обратить внимание на его специфику. Если перевести аббревиатуру FTP с английского языка, станет очевидно, что речь идет о протоколе передачи данных
Другими словами, мы имеем дело с обычным ПК, который имеет доступ к интернету.
Если предельно коротко попытаться ответить на вопрос, что находится на FTP серверах, следует отметить, что там располагаются файлы, к которым открыт общим доступ. Загрузить их может любой желающий.
Что располагается на FTP-серверах чаще всего
Как правило, FTP-серверы используют в качестве облачного хранилища. Цена на них зависит от того, сколько пространства требуется для ваших нужд. Только в последнее время их начали заменять FTPS-серверами, у которых уже имеется встроенная защита данных, но об этом в следующем пункте статьи.
Также FTP-серверы используют крупные IT-компании для соединения нескольких офисов в один целый. Есть одна компания, несколько офисов, но как безопасно и удаленно связать труды многих сотрудников команды, не используя сторонние ресурсы? Конечно, выбор падает на создание своего сервера, который всегда под рукой и не требует лишних затрат, кроме электричества.
На каждый из рабочих компьютеров устанавливают программы FTP-сервера, после чего любой сотрудник имеет доступ к пространству сервера. Такой подход также используют и в кабинетах информатики, где используют один жесткий диск для подключения к нему всех компьютеров в кабинете. На сам же сервер можно загрузить любые файлы, которые только могут понадобиться, но запускать их прямо с сервера невозможно, тем самым получается ответ на вопрос о том, что располагается на FTP-серверах. Рассмотрим далее вопрос доступа.
Установка FTP FileZilla Server
После скачивания дистрибутива, собственно, запустите его установку (имеется ввиду, что надо кликнуть по скачанному exe-файлу) и следуйте рекомендациям ниже.
На первом окне нужно согласиться с лицензионным соглашением, нажмите “I Аgree”.
Далее надо выбрать тип установки. Всего их пять:
- Стандартный (Standart) — вариант для установки с нуля для полного функционирования сервера.
- Полный (Full) — почти тоже самое, но так же в папку установки будут скопированы исходный код программы, на случай, если вы что-то захотите в ней изменить.
- Только FTP сервис (Service only) — устанавливается непосредственно FTP сервис, без доступа к нему через интерфейс. Полезно, если вы планируете управлять своим файлохранилищем с другого компьютера.
- Интерфейс управления (Interface only) — в отличие от предыдущего пункта, ставится только графическая оболочка управления сервером, но не он сам. Используйте, если вы хотите удаленно получить доступ к своему FTP серверу.
- Выборочная установка (Custom) — Вы вольны выбирать, что хотите поставить на свой компьютер.
Для первой установки рекомендую выбрать стандартный вариант (Standart). Нажмите «Next».
На следующем окне необходимо выбрать папку установки, например, “C:\Program Files\FileZilla Server”. После выбора переходите к следующему окну (Next).
Теперь установщик попросит нас выбрать способ установки и запуска сервера.
Есть три варианта:
- Как службу и запускать при входе в систему
- Как службу и запускать вручную
- Простая установка, запускать вручную
Рекомендуется выбрать первый или второй вариант. Разница лишь в том, что во втором случае для работы сервера, Вам необходимо будет переходить в «Панель управления — Администрирование — Управление службами», находить там службу в списке и запускать её самостоятельно, надавив на кнопочку запуск.
Серверная и клиентская часть протокола FTP
Технология FTP предполагает задействование алгоритмов, посредством которых файл с жесткого диска одного компьютера (выполняющего функции сервера) передается на носитель другого ПК (который является клиентом). Возможна и обратная процедура при задействовании тех же ПК — в этом случае девайсы меняются «ролями».
Передача файлов посредством протокола FTP осуществляется при помощи особых команд и алгоритмов. Их практическое использование иногда требует установки на компьютерах специализированных видов ПО. В частности, что касается серверного ПК, это могут быть решения, которые входят в структуру операционной системы, управляющей файлами. Также ПО соответствующего типа зачастую устанавливается на «хостовые» ПК отдельно.
Компьютер, на который передаются данные, требует наличия клиентского ПО. Доступ к файлам, расположенным на серверном компьютере, способен осуществляться с применением логина и пароля или же без них. Права пользователя, имеющего соответствующие сведения для авторизации, могут также быть ограничены в аспекте:
- возможности изменять (удалять, копировать, переименовывать) файлы, расположенные на сервере;
- доступа к FTP-ресурсам с того или иного IP-адреса;
- скорости скачивания (или загрузки) файлов на сервер.
Клиентские программы для организации FTP-доступа способны заметно различаться по функционалу. Так, есть самые простые по структуре и возможностям решения — те, что предполагают коммуникацию между пользователем и сервером посредством ввода специальных команд в консоли. В числе подобных — программа ftp.exe, которая предустановлена в Windows.
Есть ПО, оснащенные графическими интерфейсами, с помощью которых можно не только пересылать файлы, но также управлять их расположением на сервере, переименовывать.
В современных операционных системах для ПК (Windows, Linux, MacOS), для мобильных девайсов (Android, iOS), как правило, предустановлен минимальный набор программных средств для работы с FTP-протоколом. Например, практически всегда у пользователей ПК и гаджетов есть возможность скачивать файлы с соответствующих серверов посредством браузера. Популярные файловые менеджеры (к примеру, Total Commander) также могут быть задействованы в качестве FTP-клиента. В принципе, даже встроенные средства Windows — такие как Проводник — позволяют осуществлять базовые процедуры, связанные с обменом файлами с помощью рассматриваемого стандарта. Есть специализированные решения, адаптированные к работе с FTP-протоколом, — например, gFTP или SmartFTP.
Классификация клиентских ПО рассматриваемого типа может быть осуществлена исходя из их отнесения к категории онлайновых или офлайновых. Рассмотренные нами выше примеры программ — офлайновые. В свою очередь, допустимо задействовать также и онлайновые сервисы.
История
Первая реализация протокола (1971 г.) предусматривала обмен между клиентом и сервером сообщениями, состоящими из заголовка (72 бит) и данных переменной длины. Заголовок сообщения включал в себя запрос к FTP-серверу или ответ от него, тип и длину передаваемых данных. В качестве данных передавались параметры запроса (например, путь и имя файла), информация от сервера (например, список файлов в каталоге) и сами файлы. Таким образом, команды и данные передавались по одному и тому же каналу.
В 1972 г. протокол был полностью изменён, и принял вид, близкий к современному. Команды с параметрами от клиента и ответы сервера передаются по TELNET-соединению (канал управления), для передачи данных создаётся отдельное соединение (канал данных).
В последующих редакциях была добавлена возможность работы в пассивном режиме, передачи файлов между FTP-серверами, введены команды получения информации, смены текущего каталога, создания и удаления каталогов, сохранения файлов под уникальным именем. Некоторое время существовали команды для передачи электронной почты через FTP, однако впоследствии они были исключены из протокола.
В 1980 г. FTP-протокол стал использовать TCP. Последняя редакция протокола была выпущена в 1985 г. В 1997 г. появилось дополнение к протоколу, позволяющее шифровать и подписывать информацию в канале управления и канале данных. В 1999 г. выпущено дополнение, посвящённое интернационализации протокола, которое рекомендует использовать кодировку UTF-8 для команд и ответов сервера и определяет новую команду LANG, устанавливающую язык ответов.
Передача файлов по FTP через терминал
Мы могли бы использовать telnet для передачи файлов по FTP через терминал, но это слишком сложно и не нужно. Существует консольный клиент FTP с более простым синтаксисом и достаточными возможностями. Сначала рассмотрим общий синтаксис и команды утилиты:
$ ftp опции адрес_сервера
Опций у утилиты всего несколько, но нам нужно их рассмотреть, потому что они могут быть вам очень полезны:
- -A — использовать активный режим во время передачи файлов;
- -p — использовать пассивный режим, используется по умолчанию;
- -i — отключать интерактивный режим во время передачи файлов;
- -n — попытаться использовать автоматический вход;
- -e — отключить историю команд;
- -v — максимально подробный вывод;
- -d — включить режим отладки.
Дальше рассмотрим команды интерактивного режима, которые вы будете использовать для подключения к серверу и управления файлами:
- account — отправить серверу свой пароль для авторизации;
- append — добавить локальный файл в конец удаленного файла на сервере;
- ascii — передавать файлы в кодировке ASCII;
- binary — передавать файлы в бинарном формате;
- bye — завершить сессию;
- cd — перейти в папку;
- cdup — перейти в папку уровнем выше;
- chmod — изменить права на файл;
- delete — удалить файл с сервера;
- dir — посмотреть список файлов в папке;
- get — скачать файл из сервера на локальную машину;
- hash — отображать статус передачи файла;
- lcd — сменить рабочую директорию на локальной машине;
- ls — список файлов в папке;
- mdelete — удалить несколько файлов;
- mget — скачать несколько файлов;
- mkdir — создать папку;
- mput — передать несколько файлов на сервер;
- open — подключится к удаленному FTP серверу;
- put — передать файл на сервер;
- pwd — вывести текущую папку;
- recv — то же самое что и get;
- rename — переименовать файл на сервере;
- rmdir — удалить папку;
- size — узнать размер файла;
- user — авторизоваться на сервере.
Это далеко не все команды, которые вы можете использовать для передачи файлов, но здесь перечислено все самое основное, и вам их точно хватит для решения простых задач.
Сначала подключаемся к нашему серверу, команде нужно передать адрес сервера:
Затем авторизуемся на сервере, нужно передать логин и пароль:
Только после этого перед нами открывается командная оболочка FTP клиента. Именно здесь будет выполняться передача файлов ftp. Изменим текущую папку на FTP, затем посмотрим ее содержимое и выведем полный адрес текущей папки:
Перейдем в папку documents на удаленном сервере и посмотрим ее содержимое:
Чтобы скачать файл по FTP с удаленного сервера нам нужно использовать команду get. Просто передайте команде имя файла:
Теперь файл находится на нашей локальной машине. Мы можем выполнять команды на локальной машине если перед ними добавить символ «!». Например, посмотрим содержимое домашней папки чтобы убедиться, что файл был загружен:
Загрузка файлов по FTP на сервер выполняется с помощью команды put, причем, здесь, как и в предыдущей команде можно задать имя создаваемого файла:
Также можно управлять файлами на удаленном сервере. Переименуем файл doument1.pdf, так чтобы он назывался правильно:
Затем удалим document3:
Для завершения сеанса FTP наберите Bye:
Сейчас многие FTP серверы используют шифрование на основе ssl сертификатов. Это необходимая мера, которая позволяет обезопасить данные пользователей. Для подключения к таким серверам необходимо использовать утилиту sftp, в остальном же процесс и команды не отличаются.