Как передать файл по ftp
Перейти к содержимому

Как передать файл по 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 клиента. Именно здесь будет выполняться передача файлов ftp. Изменим текущую папку на FTP, затем посмотрим ее содержимое и выведем полный адрес текущей папки:

ftp> cd FTP ftp> ls ftp> pwd

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

ftp> cd documents ftp> ls

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

ftp> get document2.odt

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

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

ftp> put document2.odt document3.odt

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

ftp> rename doument1.pdf document1.pdf

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

ftp> delete document3.odt

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

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

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

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

sudo apt install filezilla

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

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

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

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

Выводы

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

Три способа передачи файлов по FTP средствами Windows

Утилиту «ftp.exe», входящую в состав Windows по умолчанию, можно запустить из командной строки. Она позволяет скачивать и загружать файлы по протоколу FTP вручную, но главное ее достоинство — функции автоматизации. С ее помощью можно запланировать и автоматизировать передачу файлов по FTP на регулярной основе.

Чтобы получить справку по утилите FTP, введите в командной строке ftp -? и нажмите [Enter]. Чтобы посмотреть список доступных команд, введите ftp и нажмите [Enter] для запуска утилиты, а затем введите ? и снова нажмите [Enter]. Для завершения работы утилиты введите bye и нажмите [Enter].

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

Передача одного файла

Скопируйте в Блокнот (Notepad) следующий текст, подставив нужные значения, и сохраните его как «H:\TransferTest\transfer.bat».

Назначение команд:

• ftp — запускает утилиту FTP;
• -v — отключает вывод информации об ответах удаленного FTP-сервера;
• -n — отключает автоматический вход;
• -s: — указывает путь к файлу, содержащему команды для FTP-передачи. Путь не должен содержать пробелов .

Затем скопируйте в Блокнот следующий текст, подставив нужные значения, и сохраните его как «H:\TransferTest\transfer.ftp».

Назначение команд:

• open — открывает удаленный FTP-сервер;
• user — указывает имя пользователя для входа на сервер;
• password — указывает пароль для входа на сервер;
• cd — переходит в указанный удаленный каталог для загрузки файлов, в данном примере — «/public_ftp/test»;
• put — загружает указанный локальный файл на удаленный сервер; кавычки можно не использовать, если путь не содержит пробелов;
• bye — завершает сеанс подключения и работу утилиты FTP.

Совет: команды FTP можно сокращать до трех символов — например, использовать bin вместо binary.

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

• Откройте в Проводнике папку, в которой хранится нужный файл, нажмите правой кнопкой мыши на любом фрагменте адреса в адресной строке и выберите опцию «Копировать адрес как текст» (Copy Address as Text). Вставьте скопированный адрес в сценарий FTP и добавьте к нему имя файла.
• Нажмите правой кнопкой мыши на файле в Проводнике, выберите опцию «Свойства» (Properties) и откройте вкладку «Безопасность» (Security). Скопируйте полный путь к файлу из строки «Имя объекта» (Object name) и вставьте его в сценарий FTP.

В командной строке введите H:\TransferTest\transfer.bat и нажмите [Enter] или запустите командный файл двойным щелчком. При этом может появиться предупреждение безопасности, показанное на рис. I.

Три способа передачи файлов по FTP средствами Windows
Рисунок I. Выберите опцию «Общественные сети» (Public Networks) и нажмите кнопку «Разрешить доступ» (Allow Access).
Три способа передачи файлов по FTP средствами Windows
Рисунок J. Команда put загружает файл с клиентского компьютера на сервер. Если такой файл на сервере уже есть, он будет заменен.

Для скачивания файла с удаленного сервера на клиентский ПК используется команда get.

Передача нескольких файлов

Скопируйте в Блокнот следующий текст, подставив нужные значения, и сохраните его как «H:\TransferTest\multiple_transfer.bat».

Скопируйте в Блокнот следующий текст, подставив нужные значения, и сохраните его как «H:\TransferTest\multiple_transfer.ftp».

Назначение команд:

• open — открывает удаленный FTP-сервер;
• user — указывает имя пользователя для входа на сервер;
• password — указывает пароль для входа на сервер;
• cd — переходит в указанный удаленный каталог для загрузки файлов, в данном примере — «/public_ftp/test»;
• prompt — отключает интерактивные приглашения на ввод при загрузке множественных файлов с использование команды mput;
• mput — загружает указанные файлы ASCII с локального ПК; кавычки можно не использовать, если путь не содержит пробелов;
• lcd — переходит в указанный локальный каталог, в котором хранятся файлы для загрузки, в данном примере — «\Projects\PSWW\VIC\Package»;
• binary — переключается в режим двоичной передачи;
• mput — загружает указанные бинарные файлы с локального ПК; кавычки можно не использовать, если путь не содержит пробелов;
• bye — завершает сеанс подключения и работу утилиты FTP.

Теперь в командной строке введите H:\TransferTest\multiple_transfer.bat и нажмите [Enter] или запустите командный файл двойным щелчком (рис. K).

Три способа передачи файлов по FTP средствами Windows
Рисунок K. Этот сценарий позволяет загрузить на сервер сразу несколько файлов.

Обратите внимание — я использовал команду cd для смены каталога в командном файле и команду lcd для смены локального каталога в сценарии FTP, чтобы упростить команду mput за счет использования относительного пути вместо полного.

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

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

Для скачивания нескольких файлов с удаленного сервера на локальный ПК используйте команду mget.

Передача текстовых и бинарных файлов

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

Проблемы безопасности

При передаче файлов по протоколу FTP возникает очевидная угроза безопасности. Если имя пользователя и пароль хранятся в незашифрованном текстовом файле, их может украсть любой, кто имеет доступ к компьютеру. Так что сценарий FTP стоит зашифровать. Подробнее о шифровании можно узнать в штатной справке Windows, воспользовавшись поиском по ключевому слову «шифрование». Нужные сведения содержатся в разделе «Шифрование или расшифровка папки или файла» (Encrypt or Decrypt a Folder or File). О шифровании в Windows 2000, Windows Server 2003, Windows XP, Windows Vista и Windows 7 рассказывается также на сайте Microsoft. В Википедии приводится полный версий Windows, поддерживающих систему шифрования данных Encrypting File System (EFS). Кроме того, можно воспользоваться сторонним приложением для шифрования, например, TrueCrypt.

Проблемы при использовании брандмауэра

Если при попытке подключиться к FTP-серверу вы получаете сообщение об ошибке «425 Невозможно установить соединение: Время ожидания истекло» (Unable to build data connection: Connection timed out), скорее всего, проблема связана с брандмауэром. Утилита FTP не поддерживает передачу данных в пассивном режиме, поэтому при использовании брандмауэра могут возникать ошибки в передаче данных. Я сталкивался с такой проблемой при использовании Comodo Firewall 4.0. Чтобы ее устранить, необходимо разрешить утилите FTP удаленный доступ в настройках брандмауэра.

В заключение

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

Три способа передачи файлов по FTP средствами Windows

Любому пользователю Интернета знакомы HTTP-адреса для доступа к веб-сайтам, которые вводятся в адресной строке браузера — например, http://www.microsoft.com/ . Адреса для доступа к FTP-серверам строятся по такому же принципу: ftp://ftp.microsoft.com/ .

Введите в адресной строке адрес общедоступного FTP-хранилища, например, Microsoft (рис. A) и нажмите [Enter]. В случае успешного подключения вы увидите корневой каталог. Для доступа к подкаталогам и файлам нажмите на основном каталоге. Чтобы загрузить файл, нажмите на нем правой кнопкой мыши и выберите опцию «Сохранить объект как» (Save Target As).

Как видите, на сервере хранятся все статьи базы данных, исправления, обновления, утилиты и документация Microsoft, только представлены они в виде списка с датами. Подробные сведения о FTP-хранилище содержатся в файлах «readme.txt».

Три способа передачи файлов по FTP средствами Windows
Рисунок A. FTP-сервер Microsoft — вид из Internet Explorer 8.

Обратите внимание: для успешного подключения к FTP-серверу с помощью IE должны быть включены опции «Разрешить просмотр FTP-папок (за пределами Internet Explorer)» (Enable FTP folder view (outside of Internet Explorer)) и «Использовать пассивный FTP-протокол (для совместимости с брандмауэрами и DLS-модемами)» (Use Passive FTP (for firewall and DSL modem compatibility)) в разделе «Обзор» (Browsing) на вкладке «Дополнительно» (Advanced) диалогового окна «Свойства обозревателя» (Internet Options). Вызвать его можно из меню «Сервис» (Tools).

Для доступа к частным FTP-серверам необходимо ввести имя пользователя и пароль (рис. B). Однако таким способом в IE 7 или IE 8 можно посмотреть лишь список файлов. Для загрузки придется воспользоваться Проводником (Windows Explorer). Подробнее см. на рис. C, D, E и F.

Три способа передачи файлов по FTP средствами Windows
Рисунок B. Для доступа к частным FTP-серверам требуется имя пользователя и пароль.

Три способа передачи файлов по FTP средствами Windows
Рисунок C. Выберите опцию «Страница | Открыть FTP-узел в Проводнике Windows» (Page | Open FTP Site in Windows Explorer) или «Вид | Открыть FTP-узел в Проводнике Windows» (View | Open FTP Site in Windows Explorer), чтобы запустить Проводник.

[center] Три способа передачи файлов по FTP средствами Windows
Рисунок D. В диалоговом окне с предупреждением безопасности Internet Explorer нажмите кнопку «Разрешить» (Allow).

Три способа передачи файлов по FTP средствами Windows
Рисунок E. Введите имя пользователя, пароль и нажмите кнопку «Вход» (Log On), чтобы подключиться к FTP-серверу при помощи Проводника.
Три способа передачи файлов по FTP средствами Windows
Рисунок F. В случае успешного подключения вы сможете скачивать файлы и загружать их на FTP-сервер точно так же, как на любой локальный диск.

Пример использования для начинающих

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

Будем предполагать, что вы уже установили и запустили клиент FileZilla (руководство по установке).

Соединение с сервером

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

В этом случае мы заполняем панель быстрого подключения:

File:Tutorial_Quickconnect.png

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

Примечание: если вы желаете точно указать порт, к примеру, SFTP или FTPS, введите имя хоста таким образом: sftp://hostname или ftps://hostname соответственно.

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

Навигация и расположение окон

Легенда: 1. панель инструментов, 2. панель быстрого подключения, 3. лог сообщений, 4. локальная панель, 5. удалённая (серверная) панель, 6. очередь передаваемых файлов (полноразмерная версия изображения)

На этом этапе мы ознакомимся с расположением окон в FileZilla.

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

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

Теперь мы загрузим следующие файлы (или те, которые вы выбрали):

Закачивание файлов

Для начала в локальной панели перейдите в директорию, которая содержит нужные данные (например, index.html и images/). Теперь, перейдите в нужную целевую директорию на сервере (используя список в серверной панели). Чтобы загрузить данные, выберите соответствующие файлы/директории и перетяните их из локальной в удалённую панель. После этого вы заметите, что файлы будут добавлены в очередь в нижней части окна и, через некоторое время, удалены оттуда после загрузки на сервер (естественно, если всё произошло без ошибок). Загруженные файлы и директории будут отображены в серверном списке в правой колонке.

Список локальных и серверных файлов после загрузки

Примечание: Если вам не нравится «перетягивать» файлы, достаточно просто кликнуть правой кнопкой на выбранных файлах/директориях и нажать «Загрузить»

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

Скачивание файлов

Скачивание файлов или целых директорий, по сути, работает так же, как и закачивание, вы просто перетягиваете файлы/директории наоборот: из удалённой панели на локальную.

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

Использование менеджера сайтов

После того, как вы убедились в том, что можете передавать файлы (в противном случае попрактикуйтесь в этом), у вас может возникнуть желание добавить информацию о сервере в менеджер сайтов для облегчения последующих подключений. Выберите пункт Копировать соединение в Менеджер сайтов в меню Файл, после чего будет открыт менеджер сайтов, а в нём будет создан новый пункт заполненный соответствующей информацией. Заметьте, что название пункта выбрано и подсвечено — это значит, что вы можете ввести соответствующее имя для облегчения поиска этого пункта в дальнейшем (к примеру, введите domain.com FTP-сервер — вы сможете переименовать его в дальнейшем). Теперь закройте диалоговое окно, кликнув на OK.

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

Выводы

Мы предполагаем, что теперь вы способны использовать основные возможности FileZilla.

Последнее замечание: большинство задач могут быть решены разными способами. В этом руководстве описаны самые очевидные решения — потратив некоторое время на работу с программой и прочтение остальной документации, вы наверняка найдёте самые быстрые решения для ваших задач (к примеру, на панели инструментов расположены кнопки для часто используемых команд; некоторые из них реагируют на клик правой кнопкой).

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *