opened image

Що таке FTP і як його використовувати для завантаження файлів на сервер?

Протокол передачі файлів (FTP) є класичним загальноприйнятим способом, що дозволяє налагодити обмін файлами між мережевими пристроями. File Transfer Protocol надзвичайно ефективний у процесі взаємодії з великими обсягами даних, оскільки забезпечує відмінний обмін інформацією на серверах. Користувачі отримують можливість безпроблемно обмінюватися документами, передавати їх між локальним комп'ютером і віддаленим сервером, що робить FTP незамінним інструментом для розробників, системних адміністраторів та багатьох інших спеціалістів. Використання FTP дозволяє швидко і зручно керувати файлами, завантажуючи їх на сайт або завантажуючи необхідні матеріали.

Крім того, FTP підтримує безліч можливостей, таких як управління правами доступу, що дає можливість контролювати, хто може бачити і редагувати вміст. Це робить його цінним рішенням для організацій, які потребують надійної та безпечної передачі даних.

 

File Transfer Protocol: переваги використання

 

Будучи універсальним методом обміну інформацією, протокол FTP дозволяє виконувати різні цілі. Наприклад, його часто використовують для:

  • Контент-менеджмент: FTP дозволяє розробникам змінювати і передавати файли на серверах.

  • Дублювання даних: особливо важливим і корисним інструментом FTP для серверів є можливість створення резервних копій різної інформації.

  • Робота з файлами на віддаленому сервері: при роботі з сервером надається можливість керувати і редагувати документи.

 

Покрокове керівництво з конфігурації сервера FTP

 

Для конфігурації FTP-сервера звернемо увагу на широко використовуваний сервер FTP, який називається Very Secure FTP Daemon, він же vsftpd, славиться своєю надійністю і захищеністю. Цей приклад підійде платформам Ubuntu і CentOS на базі Linux.

 

Етап 1: Інсталяція FTP

  1. Пакетна актуалізація: перед початком установки потрібно перевірити актуальність оновлень всіх пакетів. У разі необхідності провести актуалізацію.
    sudo apt update

  2. Інсталяція vsftpd:
    sudo apt install vsftpd -y

 

 

Крок 2: Налаштування конфігурації

Завершивши процес інсталяції, вам потрібно перейти до файлу налаштування vsftpd для внесення необхідних змін:
sudo nano /etc/vsftpd.conf

Нижче наведені ключові параметри, які потребують конфігурації:

 

Вимкнення режиму інкогніто:
anonymous_enable=NO

Це підвищує безпеку, надаючи вхід виключно зареєстрованим користувачам.

Надання доступу до системи локальним користувачам:
local_enable=YES

Надає доступ локальним користувачам, які мають особистий серверний профіль.

Доступ до запису:
write_enable=YES


 

 

Дає можливість взаємодіяти з сервером шляхом редагування і завантаження документів.  

Перезапустіть vsftpd після внесених змін у конфігурацію:
sudo systemctl restart vsftpd


Крок 3: Створення користувача FTP

Щоб коректно провести цю процедуру, необхідно ввести:
sudo adduser ftpuser


 

Надайте дозвіл на роботу з необхідними директоріями.

 

Крок 4: Отримання доступу до портів

Для коректного функціонування FTP-сервера може знадобитися використання портів 20 і 21. Щоб забезпечити їх доступність, необхідно створити відповідне правило в брандмауері:

sudo ufw allow 20:21/tcp

sudo ufw reload


 

Експлуатація клієнтів FTP

 

Використання FTP-клієнтів дає можливість комфортної роботи з документами через FTP. Нижче наведені кілька широко затребуваних клієнтів, які мають різний дизайн оболонки і функціональний набір.

FileZilla

FileZilla є безкоштовним клієнтом, що підтримує не тільки FTP-з'єднання, але й SFTP/FTPS. FileZilla має відкритий вихідний код, що дозволяє використовувати клієнт на найрізноманітніших платформах Windows, macOS і Linux.

  1. Інсталяція: спочатку необхідно завантажити клієнт, який можна знайти на  офіційному сайті.

  2. Налаштування з'єднання: відкрийте FileZilla і заповніть всі необхідні дані (логін, пароль і IP-адресу сервера) для встановлення з'єднання.

  3. Файловий обмін: скористайтеся опцією "перетягування" для відправки і отримання файлів.

Cyberduck

Cyberduck — це FTP-клієнт, який доступний для операційних систем macOS і Windows. Він сумісний з такими протоколами, як FTP, SFTP і WebDAV, а також іншими різновидами. Відрізняється простотою інтерфейсу і можливістю роботи з хмарними сховищами.

  1. Установка Cyberduck: скачайте програму з  офіційного сайту.

  2. Підключення до сервера: виберіть протокол, введіть IP, ім'я користувача і пароль для підключення.

WinSCP

WinSCP — це безкоштовний FTP і SFTP-клієнт для Windows. Він має інтеграцію з Windows і дозволяє запускати віддалені скрипти і синхронізувати папки.

  1. Установка WinSCP: завантажте його з  офіційного сайту.

  2. Налаштування з'єднання: відкрийте WinSCP, виберіть тип підключення (FTP або SFTP), вкажіть дані для з'єднання.

 

Робота з FTP через командний рядок

 

Робота з FTP через командний рядок — ефективний спосіб завантажувати і скачувати файли, особливо коли немає доступу до графічного інтерфейсу або необхідно автоматизувати завдання. Цей метод дозволяє використовувати вбудовані команди FTP для виконання операцій, таких як передача файлів, навігація по каталогах і налаштування з'єднань.

 

Підключення за допомогою консолі до сервера FTP

 

Для початку роботи введіть у командному рядку команду ftp, вказавши адресу FTP-сервера.

Щоб підключитися до сервера FTP введіть:
ftp yourserver.com


 

Після введення команди буде запропоновано ввести ім'я користувача і пароль.

Основні FTP-команди для консолі

Використання команд, що дозволяють працювати з різними каталогами і документами, стане можливим в результаті успішного підключення.

Основні команди для навігації

ls — демонструє в поточному серверному каталозі список директорій і документів.

 

  • cd <directory_name> — дозволяє змінити діючу серверну директорію.
    cd uploads

  • pwd — дозволяє відобразити діючу серверну директорію.
    pwd

 

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

Використання команд put і get дозволяє передавати файли між сервером і локальним ПК, завантажуючи і скачуючи їх.

  • put <file_name> — завантажує файл з локального комп'ютера на сервер у поточну директорію.
    put localfile.txt

  • mput <file_pattern> — завантажує кілька відповідних шаблону документів.
    mput *.txt

  • get <file_name> — завантажує на локальний ПК з сервера конкретний файл.
    get remotefile.txt

  • mget <file_pattern> — завантажує кілька відповідних шаблону документів.
    mget *.log

 

Адміністрування серверної файлової системи

  • mkdir <directory_name> — дозволяє створити на сервері новий каталог.
    mkdir newfolder

  • rmdir <directory_name> — видаляє порожній серверний каталог.
    rmdir oldfolder

  • delete <file_name> — видаляє певний документ на сервері.
    delete oldfile.txt

 

Додаткові команди для управління сесією

  • ascii і binary — встановлюють режим передачі даних.

    • ascii — використовується для текстових файлів.

    • binary — застосовується для двійкових файлів (зображення, архіви), щоб уникнути помилок.
      binary

  • bye або quit — завершує сесію FTP.
    bye

 

Сценарій автоматичної завантаження файлів

Для автоматичного скачування або завантаження файлів є можливість розробити скрипт, який буде регулярно з'єднуватися з сервером FTP і виконувати необхідні операції. Приклад bash-скрипта для автоматичної завантаження файлів:

  • #!/bin/bash

  • HOST='yourserver.com'

  • USER='ftpuser'

  • PASS='password'

  • ftp -inv $HOST <<EOF

  • user $USER $PASS

  • cd uploads

  • put localfile.txt

  • bye

  • EOF

У цьому скрипті:

  • ftp -inv $HOST запускає FTP-сесію в неінтерактивному режимі.

  • user $USER $PASS логіниться.

  • cd uploads переходить у потрібну директорію.

  • put localfile.txt завантажує файл.

 

 

Рекомендації щодо використання FTP через консоль

 

  1. Використовуйте режим binary для завантаження двійкових файлів, щоб уникнути їх пошкодження.

  2. Перевіряйте з'єднання перед початком передачі, оскільки обриви можуть викликати помилки.

  3. Для захисту даних рекомендується використовувати SFTP або FTPS.

 

 

Висновок

 

FTP — це потужний інструмент для управління файлами на сервері, особливо в поєднанні з клієнтами, такими як FileZilla і Cyberduck. Однак для передачі конфіденційних даних рекомендується використовувати захищені варіанти протоколу, такі як SFTP.