Гид по технологиям

FTP в Linux: подключение, команды и безопасность

5 min read Linux Обновлено 02 Dec 2025
FTP в Linux: подключение, команды и безопасность
FTP в Linux: подключение, команды и безопасность

TL;DR

FTP — простой протокол передачи файлов между компьютерами. В Linux он доступен через встроенную утилиту ftp. Используйте ftp для копирования, переименования и удаления файлов на удалённом сервере. Для безопасной передачи предпочтительнее SFTP или FTPS. Внизу — шпаргалка команд, чек‑листы для ролей и советы по безопасности.

Что такое FTP

FTP (File Transfer Protocol) — сетевой протокол для передачи файлов между компьютерами. Клиент-серверная архитектура: вы запускаете FTP-клиент, он подключается к FTP-серверу и взаимодействует с его файловой системой.

Кратко: протокол копирует файлы по сети; для управления файлами применяются простые текстовые команды.

Подключение к удалённому серверу через FTP

Команда для подключения к FTP-серверу из терминала выглядит так:

ftp www.xyz.com

Пример — подключение к серверу Университета Корнелла:

ftp www.cornell.edu

После выполнения команды клиент установит TCP-соединение с сервером на стандартном порту 21 и запросит логин.

Вход на сервер

Когда соединение установлено, вас попросят ввести имя пользователя и пароль. Для частных серверов нужны учётные данные от администратора. Для публичных FTP часто доступны анонимные входы с именем пользователя anonymous и вашей электронной почтой как паролем. Некоторые публичные серверы разрешают оба поля “ftp”.

После успешного входа вы обычно увидите приглашение:

ftp>

Сервер может сообщить, что он UNIX-подобный, и что по умолчанию будет использоваться бинарный режим передачи. Пояснение режимов:

  • binary — побайтовая передача; используйте для изображений, архивов, бинарных исполнимых файлов.
  • ascii — текстовый режим; полезен для текстовых файлов, когда нужно корректно преобразовать окончания строк.

Переключение режимов:

ftp> ascii
ftp> binary

Важное: стандартный FTP передаёт логины и данные в открытом виде. Для конфиденциальных данных переключайтесь на SFTP или FTPS.

Базовые FTP‑команды (после входа)

Список команд может отличаться в зависимости от сервера. Чтобы увидеть все команды на текущем сервере, выполните:

ftp> help

Просмотр содержимого текущей директории на сервере:

ftp> ls

Переход в директорию pub (часто содержит общедоступные файлы):

ftp> cd pub

Скачивание одного файла (пример — waterfall.jpg):

ftp> get waterfall.jpg

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

ftp> get waterfall.jpg newwaterfall.jpg

Скачивание нескольких файлов:

ftp> mget waterfall.jpg river.jpg lake.jpg

пример команды mget для скачивания нескольких файлов

Загрузка файла на сервер (требуются права на запись на сервере):

ftp> put yourfile.jpg

Загрузка нескольких файлов:

ftp> mput yourfile1.jpg yourfile2.jpg yourfile3.jpg

Просмотр локальной текущей директории, куда сохраняются файлы:

ftp> lpwd

Смена локальной директории (пример синтаксиса):

ftp> lcd path/to/local/directory

Примечание: в некоторых реализациях ftp путь в lcd указывается обычным файловым путём Unix или Windows в зависимости от ОС.

Типичные сценарии использования и ограничения

  • Быстрая передача публичных файлов между серверами и клиентами в локальной сети или сети Интернет.
  • Не подходит для безопасной передачи чувствительных данных из‑за отсутствия шифрования по умолчанию.
  • Ограниченная функциональность по сравнению с современными протоколами (нет встроенной авторизации через ключи, нет шифрования).

Когда FTP может не подойти:

  • Нужно шифрование канала — используйте SFTP (SSH File Transfer Protocol) или FTPS (FTP over TLS).
  • Требуется интеграция с современными CI/CD пайплайнами — рассмотрите HTTPS‑доступ к хранилищу или rsync/ssh.

Альтернативы и когда их выбирать

  • SFTP: безопасный по умолчанию, работает через SSH, подходит для интерактивного доступа и автоматизации с ключами.
  • FTPS: добавляет TLS/SSL к классическому FTP, полезен там, где требуется совместимость с FTP-серверами и шифрование.
  • rsync over SSH: эффективен для синхронизации больших наборов данных с дельта‑передачей.
  • HTTPS/REST API: удобен для интеграции с веб‑сервисами и облачными хранилищами.

Выбор: если нужна безопасность и простая аутентификация — SFTP; если нужен совместимый FTP с шифрованием — FTPS; для синхронизации больших наборов — rsync.

Безопасность и жесткая конфигурация (hardening)

  • Не используйте обычный FTP для паролей и конфиденциальных данных.
  • При необходимости оставить FTP в сети — ограничьте доступ по IP, используйте firewall и fail2ban.
  • Запрещайте анонимную запись (анонимный доступ только для чтения).
  • Для публичных файлов используйте отдельную chroot‑директорию, чтобы ограничить доступ сервера к нужной папке.
  • Логи: включите подробное логирование подключений и операций для аудита.
  • Переходите на SFTP/FTPS при первой возможности.

Чек-листы по ролям

Системный администратор:

  • Установить ограничение на анонимный доступ.
  • Настроить chroot для FTP‑пользователей.
  • Ограничить права записи и установить umask.
  • Включить TLS, если доступен FTPS.
  • Настроить мониторинг и оповещения.

Разработчик/инженер деплоя:

  • Использовать SFTP ключи для автоматизации.
  • Тестировать загрузку/скачивание в контрольной среде.
  • Автоматически проверять контрольные суммы после передачи.

Обычный пользователь:

  • Не вводить пароли в общих сетях без VPN.
  • Проверять режим передачи (binary/ASCII) перед загрузкой.
  • Сохранять резервные копии локальных файлов, чтобы не потерять данные при перезаписи.

Шпаргалка команд (cheat sheet)

Ниже — быстрый набор команд для повседневной работы в интерактивном ftp:

ftp host.example.com   # подключиться к серверу
user username          # задать имя пользователя (если требуется)
quit                   # выйти из FTP
ls                     # список файлов на сервере
cd dir                 # сменить директорию на сервере
pwd                    # показать текущую директорию на сервере
lpwd                   # показать локальную текущую директорию
lcd /local/path        # сменить локальную директорию
get remote local       # скачать remote и сохранить как local
mget file1 file2       # скачать несколько файлов
put local remote       # загрузить файл с локальной машины
mput file1 file2       # загрузить несколько файлов
ascii / binary         # переключение режима передачи
help                   # показать список команд

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

Примеры тестов и критерии приёмки

  • Подключение: клиент устанавливает соединение с сервером в течение 10 секунд.
  • Аутентификация: пользователь успешно логинится с корректными учётными данными.
  • Передача файла: контрольная сумма локального и скачанного файлов совпадает.
  • Права: пользователь не может выйти из своей chroot‑директории (для ограниченного доступа).

Ментальные модели и советы

  • Подумайте о FTP как о «удалённой файловой оболочке» с простыми текстовыми командами.
  • Режимы (ASCII vs binary) — это способ сказать серверу, как обрабатывать байты при передаче.
  • Если безопасность важна — рассматривайте FTP как временное решение и планируйте миграцию.

Небольшая методология миграции с FTP на SFTP

  1. Инвентаризируйте пользователей и скрипты, использующие FTP.
  2. Настройте SFTP/SSH на тестовом сервере и проверьте совместимость.
  3. Перенесите скрипты, заменив ftp-клиент на sftp/ssh-клиент или scp.
  4. Отключите FTP для пользователей по мере проверки.
  5. Включите мониторинг и уведомления при первом запуске.

Глоссарий — 1 строка для ключевых терминов

  • FTP: протокол передачи файлов по сети.
  • SFTP: FTP поверх SSH, безопасный по умолчанию.
  • FTPS: FTP с TLS/SSL для шифрования.
  • chroot: механизм ограничения видимой файловой системы для процесса.

Заключение

FTP остаётся простым и быстрым инструментом для базовых задач передачи файлов в Linux. Однако из‑за отсутствия шифрования и современных средств аутентификации его лучше использовать только для публичных или не конфиденциальных данных. Для защищённой работы переходите на SFTP или FTPS, применяйте ограничение доступа, журналирование и контроль прав.

Вопросы и опыт Напишите о своём опыте работы с FTP в Linux: какие проблемы встречались и какие альтернативы вы предпочли?

Источники и дополнительные материалы Официальный сайт сообщества Linux: http://www.linux.org/

Image credits: RRZEicons at Wikimedia

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Как обновить аудиодрайверы в Windows 7 и 8
Windows

Как обновить аудиодрайверы в Windows 7 и 8

FFXIV: ошибка загрузки файлов патча — как исправить
Руководство

FFXIV: ошибка загрузки файлов патча — как исправить

Как зарядить Nintendo Switch без дока
Гайды

Как зарядить Nintendo Switch без дока

Множества в Python — создание и операции
Python

Множества в Python — создание и операции

ownCloud на Raspberry Pi — установка и настройка
Raspberry Pi

ownCloud на Raspberry Pi — установка и настройка

Установить Windows 11 22H2 — быстрый гид
Windows

Установить Windows 11 22H2 — быстрый гид