Назви FTPS і SFTP відрізняються однією літерою, і це часто стає причиною плутанини: здається, що це один протокол із двома написаннями. Насправді це два незалежні способи передавання файлів, побудовані на різних технологіях шифрування, з різними портами і різною логікою підключення. Різниця важлива на практиці — неправильний вибір протоколу означає, що клієнт просто не підключиться до сервера. Для адміністратора ця різниця означає конкретний практичний вибір ще на етапі налаштування сервера, а не після скарги користувача на проблеми з підключенням.
Чим принципово відрізняються FTPS і SFTP
FTPS — це класичний протокол FTP, загорнутий у шифрування TLS/SSL. Він використовує ту саму архітектуру з двох каналів — командного і каналу передавання даних, — що й звичайний FTP, тільки поверх зашифрованого з'єднання. SFTP — це взагалі не FTP, а частина протоколу SSH: передавання файлів іде через той самий захищений канал, що використовується для входу по SSH, без окремого каналу даних і без звичних FTP-команд.
Тому SFTP-клієнт не підключиться до сервера FTPS, а FTPS-клієнт не підключиться до сервера SFTP — це два різні мережеві протоколи, у яких спільне лише призначення.
Порти і підключення: де губляться найчастіше
Звичайний FTP працює на порту 21 для команд і використовує додатковий порт для даних. FTPS у режимі explicit використовує той самий порт 21, але підвищує з'єднання до TLS за командою, а в режимі implicit — окремий порт 990 із шифруванням одразу під час підключення. SFTP працює через порт 22 — той самий порт, що звичайний SSH, тому що технічно це одна й та сама служба.
ssh -p 22 user@example.com
sftp user@example.com
Якщо firewall на сервері блокує вхідні з'єднання, крім порту 22, SFTP продовжить працювати, а от FTPS потребуватиме додатково відкрити порт 21 або 990 залежно від режиму. Детальне налаштування самого SFTP-сервера на базі vsftpd описано у статті «Налаштування SFTP на vsftpd».
Порівняння FTPS і SFTP за ключовими параметрами
| Параметр | FTPS | SFTP |
|---|---|---|
| Базовий протокол | FTP + TLS/SSL | SSH (SSH File Transfer Protocol) |
| Порт за замовчуванням | 21 (explicit) або 990 (implicit) | 22 |
| Кількість каналів з'єднання | Два — команди і дані | Один |
| Сумісність із firewall і NAT | Часто потребує додаткового налаштування | Простіше — один порт |
Якщо сервер уже налаштований через звичну панель керування, подивитися, який протокол там увімкнено за замовчуванням, можна у статті «Налаштування FTP у cPanel».
Коли обирати FTPS, а коли SFTP
Вибір протоколу рідко залежить від особистих уподобань — частіше його диктує середовище, у якому вже працює інфраструктура:
- Якщо сервер уже керується по SSH, логічно використовувати SFTP — окремий сервіс піднімати не треба
- Якщо корпоративний клієнт вимагає саме FTP-сумісний протокол із шифруванням, підходить FTPS
- Якщо файли треба не просто передати, а синхронізувати між серверами, варто порівняти обидва варіанти зі зв'язкою rsync поверх SSH
Таке порівняння інструментів синхронізації детально розібрано у статті «Міграція файлів: rsync і scp».
Що робити: як перевірити, який протокол потрібен саме зараз
Щоб не гадати, який протокол налаштовувати, варто пройти коротку перевірку перед встановленням сервера.
- Перевірити, чи відкритий на сервері порт 22 і чи працює служба SSH — якщо так, SFTP додається майже без зусиль
- Уточнити у клієнта або застосунку, який протокол вони вміють викликати — частина старих FTP-клієнтів не підтримує SFTP взагалі
- Перевірити політику firewall: скільки портів дозволено відкривати додатково
- Налаштувати обраний протокол і перевірити підключення із зовнішньої адреси, а не лише зсередини мережі
- Закрити невикористовуваний протокол, щоб не залишати на сервері зайву відкриту службу
Часті питання
Чи є FTPS тим самим, що й SFTP?
Ні, попри схожі назви, це різні протоколи з різною архітектурою. FTPS — це FTP поверх TLS/SSL із двома каналами з'єднання, а SFTP — частина протоколу SSH з одним захищеним каналом. Клієнти і сервери цих протоколів між собою не сумісні.
Навіщо взагалі потрібні FTP-сервери, якщо є SFTP?
FTP і його захищений варіант FTPS лишаються затребуваними там, де вже історично налаштована інфраструктура навколо цього протоколу, або клієнтське програмне забезпечення вміє працювати лише з ним. Для нових проєктів частіше обирають SFTP через простоту налаштування і єдиний порт.
Чи можна налаштувати обидва протоколи на одному сервері одночасно?
Так, FTPS і SFTP використовують різні служби і різні порти, тому технічно вони не конфліктують одне з одним і можуть працювати паралельно на одному сервері.