Администрирование Linux
  • Введение в дисциплину
    • Функции, права и ответственность системного администратор
    • Сетевые операционные системы
    • Знакомство с Linux
    • Дистрибутивы Linux
    • Графические оболочки Linux
    • Важно! Основы работы с ВМ!
    • Установка Linux
    • Запуск и останов системы
    • Общие сведения о работе в командной оболочке Linux
      • Документация по ОС Linux
      • Сокращения команд
      • Работа с потоком данных и его фильтрация
      • Выполнение команд. Простейшие команды для работы с каталогами
    • Требования к практическим работам
      • Правила оформления и сдачи отчётов
    • Контрольная работа
    • Практическая работа №1
  • Базовые задачи
    • Работа с пользователями в Linux
      • Редактирование файла Sudoers
      • /etc/passwd и /etc/shadow
      • Права доступа
      • Списки контроля доступа и расширенные атрибуты
      • Практическая работа №2. Управление учетными записями
      • Практическая работа №3. Управление правами доступа
    • Установка программ (утилит) пакетным менеджером
      • Установка программ (утилит) пакетным менеджером. Установка из архивов (тарболов)
      • Troubeshooting пакетных менеджеров
      • Практическая работа №4. Установка программ в Linux
    • Процессы и потребление ресурсов сервера
      • Процессы и потребление ресурсов сервера. Практика
      • Мониторинг процессов и ресурсов в ОС Linux
      • Система инициализации SystemD
      • Практическая работа №5
    • Контрольная работа
  • Управление файлами
    • Структура файловой системы Linux
      • Файлы-устройства
      • Типы файлов (MIME)
      • Сведения об именах файлов
    • Файловые менеджеры Linux
    • Работа с файлами и каталогами в Linux
      • Поиск информации в ОС Linux (find,grep,locate,wc, cut ...)
    • Архивирование файлов в Linux
    • Ссылки. Указатели на файл в ОС Linux
    • Создание раздела диска в Linux
      • Монтирование и разметка диска. Просмотр размера диска
    • Запись cd/dvd дисков в Linux
    • Практическая работа №6. Работа с файлами в UNIX
    • Контрольная работа
  • Сетевые настройки Linux
    • Сетевые настройки Linux
      • Вариант № 1. Сетевые настройки дистрибутивов, основанных на Debian (Astra Linux, Ubuntu, Kubuntu)
      • Вариант № 2. RedHat-based дистрибутивы ( RedOS, OpenSuse, CentOS, Fedora)
    • Настройка параметров прокси
    • Поиск и устранение неисправностей с сетевыми параметрами
      • 11 примеров использования netstat
      • Использование команд ifup, ifdown и ifquery на Linux
    • Практическая работа №7. Управление сетью
    • Iptables, firewalld, ufw, nftables
    • Расчет сети с помощью ipcalc
    • Контрольная работа
  • Сервисы Linux
    • Получение удаленного доступа к сервер
      • Про SSH port forwarding в Linux
    • Протокол DHCP
      • Настройка DHCP сервера (isc-dhcp-server)
    • Протокол DNS
      • Настройка DNS сервера (BIND9)
    • Протокол NTP
      • Настройка NTP сервера
    • Протокол FTP
      • Настройка FTP-сервера (vsftpd)
    • Протокол samba
      • Настройка Samba
    • Сетевая файловая система NFS
      • Настройка NFS
    • Настройка центра сертификации OpenSSL
    • Системы управления базами данных
      • Установка и настройка СУБД MySQL
      • Установка и настройка СУБД MongoDB
    • Веб-сервер
      • Apache
        • Установка и настройка стека LAMP
        • Установка и настройка PHPMyAdmin
        • Установка и настройка Wordpress
      • Nginx
        • Установка и настройка Nginx
    • Docker
      • Установка и развертывание приложения в Docker
    • Почтовый сервер Postfix, Dovecot
    • Что такое прокси сервер
      • Прокси Squid
    • OTRS
    • LMS
    • MediaWiki
    • ClamAV
    • CUPS
    • Rsyslog: syslog сервер в Linux
    • Резервное копирование в Linux
      • Резервное копирование через скрипт
      • Bacula
    • Контрольная работа
  • Дополнительно
    • Использование скриптов в ОС Linux
      • Написание bash-скриптов
      • Написание скриптов на Perl
      • Написание скриптов на Python
    • Игры и пасхалки в консоли Linux
    • Полезные ресурсы
    • Рекомендации ФСТЭК по безопасной настройке операционных систем Linux
Powered by GitBook
On this page
  • Передача файлов FTP-протоколом между клиентом и сервером
  • Как выглядит FTP в графическом интерфейсе ОС
  • Описание команд FTP для командной строки Windows и Linux
  • Какие сервисы лучше использовать для FTP-протокола
  • В чем назначение безопасного FTP-протокола
  • FTPS
  • SFTP
  1. Сервисы Linux

Протокол FTP

PreviousНастройка NTP сервераNextНастройка FTP-сервера (vsftpd)

Last updated 1 year ago

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

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

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

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

При установлении FTP-соединения создаются два типа каналов связи, которые называются канал команд и канал данных.

Командный канал требуется для:

  • передачи сообщений о тех или иных действиях

  • ответов между клиентом и сервером (и наоборот).

Протокол FTP применяет тот же подход, что TELNET и SMTP, для связи посредством управляющего соединения. Для этого используется набор символов NVT ASCII. Общение осуществляется через порт 21.

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

FTP-клиент, применяя URL в качестве адреса (как и протоколы передачи гипертекста HTTP/S), посылает команду FTP и адрес клиента. После установки соединения пользователь выполняет авторизацию, вводя логин и пароль.

В зависимости от настроек сервера пользователь может получить к нему доступ без логина и пароля. Данная форма авторизации называется «Анонимный FTP». В таком случае на сервере заранее создана специальная учетная запись, которая разрешает авторизацию при любых данных, внесенных в поле пароля. После этого со стороны сервера выполняется проверка введенных данных и выдается разрешение/запрет на действия с данными. Клиент/Сервер обмениваются нужными файлами, после чего происходит выход из соединения.

Как выглядит FTP в графическом интерфейсе ОС

Для взаимодействия с удаленным сервером можно использовать либо командную строку (терминал), либо специализированные приложения. В Windows интерфейс выглядит следующим образом:

При работе через приложение взаимодействие с файлами становится гораздо проще благодаря понятности и удобства интерфейса. На скриншоте ниже — пример интерфейса приложения FileZilla:

Описание команд FTP для командной строки Windows и Linux

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

ftp> *команда*

!
Эта команда переключает вас между операционной системой и FTP. Вернувшись в операционную систему и набрав exit, вы вернетесь в командную строку FTP

?

Открывает экран справки

append

Добавляет текст в локальный файл

cd

Изменяет удаленный рабочий каталог

delete

Удаляет файл

disconnect

Выход из FTP

get

Получение файла с удаленного компьютера

mdelete

Множественное удаление

mdir

Перечисляет содержимое нескольких удаленных каталогов

mget

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

mkdir

Создание каталога

mls

Списки содержимого нескольких удаленных каталогов

mput

Отправка нескольких файлов

open

Открывает адрес

put

Отправить один файл

pwd

Печатает рабочий каталог

quit

Выход из FTP

recv

Получение файла

Какие сервисы лучше использовать для FTP-протокола

  • FileZilla — это бесплатная FTP-утилита с открытым исходным кодом, которая дает пользователю возможность передавать файлы с локального компьютера на удаленный. FileZilla доступна в виде клиентской и серверной версий. Работает под ОС Windows, MacOS и Linux.

  • WinSCP — это бесплатный SFTP-, WebDAV-, S3-, SCP- и FTP-клиент для Windows с открытым исходным кодом. Работает только на ОС Windows.

  • Cyberduck — это FTP-клиент с бесплатными облачными возможностями и поддержкой систем Windows и Mac OS X. Cyberduck использует графический интерфейс пользователя (GUI) для предоставления доступа к файлам с серверов и для иного управления данными в различных местах, включая их редактирование и хранение.

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

  • CrossFTP — это приложение для ОС Windows, MacOS и Linux, поддерживающее множество протоколов, включая WebDav, SFTP, Amazon S3 и прочие.

  • Nautilus — это менеджер файлов для ОС Linux, работающих на основе окружения Gnome. Основным его плюсом является то, что он уже встроен в систему. Позволяет работать с протоколами FTP(S), SMB, NFS, SSH и прочими.

  • AndFTP — популярный FTP-клиент для ОС Android. Обладает несколько нагруженным интерфейсом, однако он дает пользователю те же функции, что и полноценные десктопные приложения.

  • X-plore File Manager — это FTP-клиент для ОС Android, аналог AndFTP.

  • FTP-manager — это FTP-клиент для iOS, позволяющий копировать, перемещать и удалять файлы между устройством и сервером. Плюсами данного приложения является возможность использовать многооконность на iPad, просматривать различные типы файлов на устройстве, а также вносить изменения в код через специальный редактор.

В чем назначение безопасного FTP-протокола

Изначально FTP не создавался с учетом требований безопасности. Считается, что это небезопасный протокол, поскольку для аутентификации он полагается на имя пользователя и пароль в открытом виде и не использует шифрование. А значит, отправляемые по FTP данные уязвимы для перехвата.

Однако существует несколько общих принципов, позволяющие обеспечить безопасное использование протокола, — FTPS и SFTP.

FTPS

FTPS, или FTP с использование Secure Socket Layer, — это метод, который позволяет выполнять шифрование соединения по требованию пользователя. FTPS был предложен в качестве альтернативы в RFC 2228.

FTPS был введен на серверах Windows, начиная с IIS 7.0. IIS, или Internet Information Services, — набор инструментов Windows, позволяющих развертывать web-сервер.

В IIS 7.0 FTPS-протокол был автономным дополнительным элементом и требовал отдельной загрузки. IIS 7.5 и каждая последующая версия имеют функциональность FTPS из «коробки». Следовательно, чтобы настроить безопасное FTP-соединение, необходимо установить только IIS Manager и/или FTP-сервис, который входит в пакет IIS.

Как работает FTPS

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

Сессия FTPS аутентифицируется при помощи логина, пароля и сертификата открытого ключа (аналогично тому, как работает HTTPS). Инструменты, такие как OpenSSL, позволяют запрашивать и создавать сертификат ключа. При соединении с сервером FTPS клиент сначала проверяет надежность сертификата сервера, после чего осуществляет подключение. Когда доверенный центр сертификации (CA) подписывает эти сертификаты, он гарантирует, что клиент подключен к надежному и безопасному серверу. Это помогает защититься от ряда атак, в том числе от атак посредника.

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

FTPS (через SSL) использует сертификаты X.509 для аутентификации. Эти цифровые сертификаты содержат в себе открытый ключ шифрования и информацию о том, кто является его владельцем. Открытый ключ выполняет две основные функции: проверку подлинности и шифрование данных. Открытый ключ имеет связанный с ним закрытый ключ. Он находится отдельно от открытого ключа, и его главное предназначение — расшифровка сообщений, зашифрованных при помощи открытого ключа.

SFTP

Также для обеспечения безопасности соединения существует SFTP, или SSH (Secure Shell) FTP, — это протокол прикладного уровня модели OSI. Он является частью SSH и не относится к протоколу FTP напрямую. При его работе происходит шифрование данных при помощи SSH, установка соединения осуществляется через порт 22. Это отличает его от FTPS, который осуществляет открытие порта каждый раз при взаимодействии с файлом. Аутентификация может происходить как при помощи логина и пароля, так и при помощи SSH-ключа.

Больше — по . Те же команды актуальны для работы в ОС Linux.

ссылке
FTP-протокол: что это и как работает. Основные команды для настройкиАкадемия Selectel
Интерфейс в Windows
Logo
Приложение FileZilla