Главная >> Инструкции >> Передача файлов по FTP

Передача файлов по FTP

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

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


Содержание статьи

Как работает FTP?

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

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

А теперь перейдем ближе к практике и рассмотрим как выполняется передача файлов по FTP.

Передача файлов по FTP через терминал

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

$ ftp опции адрес_сервера

Опций у утилиты всего несколько, но нам нужно их рассмотреть, потому что они могут быть вам очень полезны:

  • -A - использовать активный режим во время передачи файлов;
  • -p - использовать пассивный режим, используется по умолчанию;
  • -i - отключать интерактивный режим во время передачи файлов;
  • -n - попытаться использовать автоматический вход;
  • -e - отключить историю команд;
  • -v - максимально подробный вывод;
  • -d - включить режим отладки.

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

  • account - отправить серверу свой пароль для авторизации;
  • append - добавить локальный файл в конец удаленного файла на сервере;
  • ascii - передавать файлы в кодировке ASCII;
  • binary - передавать файлы в бинарном формате;
  • bye - завершить сессию;
  • cd - перейти в папку;
  • cdup - перейти в папку уровнем выше;
  • chmod - изменить права на файл;
  • delete - удалить файл с сервера;
  • dir - посмотреть список файлов в папке;
  • get - скачать файл из сервера на локальную машину;
  • hash - отображать статус передачи файла;
  • lcd - сменить рабочую директорию на локальной машине;
  • ls - список файлов в папке;
  • mdelete - удалить несколько файлов;
  • mget - скачать несколько файлов;
  • mkdir - создать папку;
  • mput - передать несколько файлов на сервер;
  • open - подключится к удаленному FTP серверу;
  • put - передать файл на сервер;
  • pwd - вывести текущую папку;
  • recv - то же самое что и get;
  • rename - переименовать файл на сервере;
  • rmdir - удалить папку;
  • size - узнать размер файла;
  • user - авторизоваться на сервере.

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

Сначала подключаемся к нашему серверу, команде нужно передать адрес сервера:

ftp localhost

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

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

ftp> cd FTP
ftp> ls
ftp> pwd

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

ftp> cd documents
ftp> ls

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

ftp> get document2.odt

 

 

 

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

ftp> !dir

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

ftp> put document2.odt document3.odt

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

ftp> rename doument1.pdf document1.pdf

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

ftp> delete document3.odt

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

ftp> bye

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

Передача файлов по FTP в графическом интерфейсе

Передача файлов на FTP через графический интерфейс может выполняться с помощью различных графических клиентов. Один из самых популярных из них - это Filezilla. Его можно использовать в Linux, Windows или MacOS. Например, для установки в Ubuntu используйте такую команду:

sudo apt install filezilla

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

 

Затем нажмите кнопку "Быстрое соединение". Если программа удачно подключится к серверу, то вы увидите список файлов на правой панели. На левой панели находится ваша локальная файловая система:

Чтобы передать файл достаточно его перетащить в нужную часть окна:

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

Выводы

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

3 комментария к “Передача файлов по FTP”

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

    При этом использование ftp, совершенно не нужно, так как в состав sshd входит sftp/scp чего в принципе более чем достаточно. Также filezilla отлично с ними работает. Ну а самый лучший вариант это rsync.

    Ответить

Оставьте комментарий