Протокол передачи файлов linux

Передача файлов по 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 — авторизоваться на сервере.
Читайте также:  Linux file cd gadget 0409

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

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

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

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

ftp> cd FTP
ftp> ls
ftp> pwd

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

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

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

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

ftp> put document2.odt document3.odt

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

ftp> rename doument1.pdf document1.pdf

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

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

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

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

Читайте также:  Installing gcc package linux

sudo apt install filezilla

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

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

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

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

Выводы

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

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

10 примеров команд sFTP для передачи файлов на удаленный Linux

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

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

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

[Вам также может понравиться: Лучшие FTP-клиенты командной строки для Linux]

SFTP (Протокол защищенной передачи файлов) по умолчанию использует протокол SSH на стандартном порту 22 для установления безопасного соединения. . SFTP интегрирован во многие инструменты с графическим интерфейсом (FileZilla, WinSCP, FireFTP, и т. д.).

Предупреждения безопасности. Не открывайте порт SSH (Secure SHell) глобально, так как это быть нарушением безопасности. Вы можете открыть только для определенного IP-адреса, с которого вы собираетесь передавать или управлять файлами в удаленной системе или наоборот.

  • Как защитить и укрепить сервер OpenSSH
  • Как изменить порт SSH в Linux
  • Как синхронизировать файлы с помощью Rsync с нестандартным портом SSH
  • 5 рекомендаций по безопасности и защите SSH-сервера
  • 10 примеров команд Wget в Linux

В этой статье вы найдете 10 примеров команд sftp для использования через интерактивный интерфейс командной строки в терминале Linux.

1. Как подключиться к SFTP

По умолчанию для аутентификации и установки SFTP-соединения используется тот же протокол SSH. Чтобы начать сеанс SFTP, введите имя пользователя и имя удаленного хоста или IP-адрес в командной строке. После успешной аутентификации вы увидите оболочку с приглашением sftp>.

[ Connecting to 27.48.137.6. 's password: sftp>

2. Получение помощи

Когда вы окажетесь в приглашении sftp, проверьте доступные команды, введя ‘?’ или ‘help’ в командной строке.

sftp> ? Available commands: cd path Change remote directory to 'path' lcd path Change local directory to 'path' chgrp grp path Change group of file 'path' to 'grp' chmod mode path Change permissions of file 'path' to 'mode' chown own path Change owner of file 'path' to 'own' help Display this help text get remote-path [local-path] Download file lls [ls-options [path]] Display local directory listing ln oldpath newpath Symlink remote file lmkdir path Create local directory lpwd Print local working directory ls [path] Display remote directory listing lumask umask Set local umask to 'umask' mkdir path Create remote directory put local-path [remote-path] Upload file pwd Display remote working directory exit Quit sftp quit Quit sftp rename oldpath newpath Rename remote file rmdir path Remove remote directory rm path Delete remote file symlink oldpath newpath Symlink remote file version Show SFTP version !command Execute 'command' in local shell ! Escape to local shell ? Synonym for help

3. Проверьте текущий рабочий каталог

Команда ‘lpwd’ используется для проверки текущего рабочего каталога Local, тогда как команда pwd используется для проверки рабочего каталога Remote.

sftp> lpwd Local working directory: / sftp> pwd Remote working directory: /tecmint/
  • lpwd — распечатать текущий каталог в вашей системе
  • pwd — распечатать текущий каталог на ftp-сервере
Читайте также:  Using aircrack ng linux

4. Список файлов с sFTP

Список файлов и каталогов как на локальном, так и на удаленном системном ftp-сервере.

На удалении
На местном

5. Загрузить файл с помощью sFTP

Поместите один или несколько файлов на ftp-сервер удаленной системы.

sftp> put local.profile Uploading local.profile to /tecmint/local.profile

6. Загрузить несколько файлов с помощью sFTP

Размещение нескольких файлов на ftp-сервере удаленной системы.

6. Загрузка файлов с помощью sFTP

Получение одного или нескольких файлов в локальной системе.

sftp> get SettlementReport_1-10th.xls Fetching /tecmint/SettlementReport_1-10th.xls to SettlementReport_1-10th.xls

Получить несколько файлов в локальной системе.

Примечание: Как мы видим, по умолчанию с помощью команды get скачивается файл с таким же именем в локальной системе. Мы можем скачать удаленные файлы с другим именем, указав имя в конце. (Это применимо только при загрузке одного файла).

7. Переключение каталогов в sFTP

Переключение из одного каталога в другой каталог в локальных и удаленных местах.

На удалении
На местном

8. Создавайте каталоги с помощью sFTP

Создание новых каталогов в локальных и удаленных местах.

9. Удалить каталоги с помощью sFTP

Удалить каталог или файл в удаленной системе.

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

10. Выйдите из оболочки sFTP

Команда «!» помещает нас в локальную оболочку, откуда мы можем выполнять команды Linux. Введите команду «exit», где мы увидим возврат приглашения sftp>.

sftp> ! [ ~]# exit Shell exited with status 1 sftp>

Заключение

SFTP — это очень полезный инструмент для администрирования серверов и передачи файлов между ними (локально и удаленно). Мы надеемся, что эти уроки помогут вам в некоторой степени понять, как использовать SFTP.

Источник

Оцените статью
Adblock
detector