Заказчик прислал доступы: хост, логин, пароль и строчку «подключение по SFTP, порт 22». Вы открываете FileZilla, видите в выпадающем списке сразу три похожих пункта (FTP, FTPS и SFTP) и понимаете, что разница между ними вам неизвестна. А выбрать надо прямо сейчас.
Разберём, что такое SFTP, как он устроен внутри, чем отличается от FTP и FTPS, и почему эти три аббревиатуры путают даже люди, которые годами заливают файлы на сервер. Заодно покажем практический способ понять, какой протокол вам выдали, если в доступах об этом ни слова.
Если про сам сервер вы пока знаете немного, стоит начать с материала о кодах ответа сервера: там разобрано, как вообще устроен диалог между вашей программой и удалённой машиной.
Статья пригодится не только администраторам. Файлы по SFTP заливают верстальщики, вебмастера, аналитики, которые забирают выгрузки из чужой системы, и все, кто хоть раз обновлял сайт руками. Отдельно стоят инженеры, которые настраивают такой доступ другим, про их работу мы писали в обзоре профессии системного инженера.
Захотите разобраться в теме системно, а не по одному протоколу за вечер, загляните в подборку курсов по администрированию и DevOps: там программы от коротких интенсивов по Linux до годовых курсов с практикой на живых серверах.
SFTP простыми словами

SFTP расшифровывается как SSH File Transfer Protocol — протокол передачи файлов, который работает поверх SSH. SSH (Secure Shell) — это защищённый способ удалённо командовать чужим компьютером: вы печатаете команды у себя, а выполняются они на сервере, и весь этот разговор зашифрован.
Представьте, что SSH — это бронированный тоннель между вашим ноутбуком и сервером. Обычно по этому тоннелю ходят команды в терминале. SFTP просто пускает по тому же тоннелю ещё и файлы, ничего своего не строя.
Отсюда главное свойство: у SFTP нет собственного шифрования, собственного порта и собственного соединения. Он берёт всё готовое у SSH. В спецификации протокола это записано прямым текстом: SFTP предназначен для использования как подсистема SSH, имя подсистемы — sftp. Никакого отдельного транспорта документ не описывает вообще.
Практический вывод для новичка: если на сервере работает SSH, то SFTP там уже есть. Отдельную программу ставить обычно не нужно, отдельный порт открывать тоже. Это и есть та причина, по которой хостинги раздают SFTP по умолчанию, а FTP приходится включать вручную.
Запомните одну связку. SFTP не существует сам по себе, он живёт внутри SSH. Всё, что верно для SSH (порт, ключи, настройки, ограничения), автоматически верно и для SFTP.
Порт 22 и почему у SFTP нет своего номера
Порт — это номер «двери» на сервере, за которой сидит конкретная программа. У веб-сайтов это 80 и 443, у почты свои номера, у SSH — 22.
Когда пишут «порт SFTP — 22», формально это неточность. В официальном реестре портов IANA, где записано, какой номер за какой службой закреплён, порт 22 значится за SSH. Отдельной строчки «SSH File Transfer Protocol» там нет и быть не может: протокол не открывает своё соединение, а заезжает в чужое.
Отсюда следует то, о чём почти все инструкции не пишут: если администратор перевесил SSH с 22 на 2222, то и SFTP переедет на 2222. Причина простая: переехал тоннель, внутри которого едет SFTP. Это самая частая причина ошибки «connection refused» у новичков: порт по умолчанию подставился сам, а сервер слушает другой.
Осторожно: под именем sftp в реестре записан другой протокол
А теперь занятное. Служба с именем sftp в реестре IANA всё-таки есть, и это порт 115. Только относится он к Simple File Transfer Protocol, другому протоколу из RFC 913, опубликованному в сентябре 1984 года, за десять лет до появления SSH.
Простой протокол передачи файлов задумывался как что-то среднее между совсем примитивным TFTP и громоздким FTP. Никакого шифрования в нём нет, сегодня он не используется нигде. Но аббревиатура совпала, и в реестре осталась именно она.
Практического вреда от этого мало, но один сценарий встречается: человек гуглит «порт SFTP», натыкается на таблицу портов, видит 115 и пытается подключиться туда. Ничего не выходит. Порт 115 к современному SFTP отношения не имеет.
Канал основателя Checkroi Вани Буявца3 700 человек читают мой Телеграм-канал про нейросетиСобрал промпты для Claude Code и ChatGPT, разборы ИИ-инструментов и лайфхаки по продвижению бизнеса в одном местеПрисоединитьсяКак работает SFTP: один канал вместо двух

Чтобы понять главное отличие от FTP, нужно посмотреть, что происходит в момент подключения.
SFTP работает так:
- Клиент открывает одно TCP-соединение к серверу на порт SSH.
- Стороны договариваются о шифровании и проверяют друг друга: сервер показывает свой отпечаток, клиент предъявляет пароль или ключ.
- Внутри защищённого соединения запускается подсистема
sftp. - Дальше всё, от списка файлов и перехода по папкам до загрузки и смены прав, идёт сообщениями внутри этого же соединения.
Ни на одном шаге не открывается второе соединение. Ни один байт не уходит в открытом виде: логин, пароль, имена файлов, содержимое, всё внутри одного зашифрованного потока.
Второе полезное свойство: SFTP умеет не только «взять» и «положить». Он работает с удалённой файловой системой почти как с локальной: переименовать, удалить, создать папку, посмотреть и поменять права доступа, узнать размер и дату изменения. Поэтому по ощущениям это ближе к сетевому диску, чем к «качалке».
Полезный побочный эффект. Раз соединение всего одно и оно на том же порту, что и SSH, то все настройки безопасности SSH распространяются на передачу файлов сами собой: ключи вместо паролей, ограничение по IP, двухфакторка, запрет на вход под root. Работает это благодаря тому же криптографическому аппарату, что и везде в интернете, — его разбирали в статье про криптографию.
Как работает FTP и откуда у него берутся проблемы
FTP (File Transfer Protocol) описан в RFC 959 ещё в 1985 году, и устроен принципиально иначе. В нём два разных соединения:
- Управляющее — по нему идут команды и ответы сервера. Стандартный порт 21.
- Соединение данных — по нему едет содержимое файлов. Порт по умолчанию соседний, 20.
Само по себе это не беда. Беда в том, как открывается второе соединение.
В активном режиме клиент командой PORT сообщает серверу свой номер порта, и сервер сам стучится к клиенту. Для домашнего компьютера за роутером это почти гарантированный провал: роутер видит входящее соединение непонятно откуда и отбрасывает его.
В пассивном режиме роли меняются: сервер командой PASV открывает случайный порт из большого диапазона и ждёт клиента. Теперь страдает уже серверный файрвол: на нём приходится держать открытыми тысячи портов, потому что заранее неизвестно, какой понадобится.
Классическая картина: список папок показывается нормально, а скачивание файла зависает намертво. Управляющее соединение прошло, соединение данных не прошло. У SFTP такого симптома не бывает физически: соединение одно, оно либо работает целиком, либо не устанавливается вовсе.
И вторая, более серьёзная проблема FTP в том, что всё передаётся открытым текстом. Логин, пароль, имена и содержимое файлов. В самом RFC 959 прямо признано, что защитить пароль на уровне протокола нечем: спрятать его можно разве что на экране пользователя. Любой, кто слушает трафик по дороге, читает всё.
FTPS: попытка починить FTP шифрованием
FTPS — это тот же FTP, к которому прикрутили TLS. TLS (раньше его называли SSL) — это тот самый механизм шифрования с сертификатами, который делает из http:// замочек и https://.
Работает это в два приёма. Сначала клиент командой AUTH TLS просит зашифровать управляющее соединение. Потом отдельной командой PROT P просит зашифровать и соединение данных. Два соединения шифруются по отдельности и независимо, и это описано в RFC 4217.
Здесь спрятана ловушка, о которой обычно не пишут. Если клиент запросил AUTH TLS, но забыл про PROT P, получается наполовину защищённое подключение: пароль улетает зашифрованным, а сами файлы уходят в открытом виде. Формально это FTPS, по факту содержимое читает кто угодно.
Два вида FTPS и порт 990
У FTPS есть две разновидности, и их постоянно смешивают:
- Явный (explicit) — подключение начинается как обычный FTP на порт 21, а шифрование включается командой уже внутри. Это то, что стандартизировано в RFC 4217.
- Неявный (implicit) — шифрование включено с первого байта, для этого исторически используют порт 990.
Тонкость, которую стоит знать: неявный FTPS не описан ни одним RFC. RFC 4217 говорит исключительно про явный вариант на порту 21 и порт 990 не упоминает вовсе. Порт 990 — это устоявшаяся практика вендоров, а не стандарт.
Из-за этого возникают и бытовые сложности: разные клиенты по-разному угадывают режим, ошибка «сервер не отвечает» на 990 часто означает, что там ждут явный FTPS на 21, и наоборот.
Сравнение SFTP, FTPS и FTP в одной таблице
| Параметр | SFTP | FTPS | FTP |
|---|---|---|---|
| На чём построен | SSH | FTP + TLS | Ничего сверху |
| Порт | Порт SSH, обычно 22 | 21 (явный) или 990 (неявный) | 21 и 20 плюс диапазон |
| Сколько соединений | Одно | Два | Два |
| Что зашифровано | Всё, всегда | Зависит от команд клиента | Ничего |
| Чем подтверждают личность | Пароль или SSH-ключ | Пароль плюс TLS-сертификат сервера | Только пароль, открытым текстом |
| Дружба с файрволом и NAT | Проблем нет | Нужен открытый диапазон портов | Нужен открытый диапазон портов |
| Операции с файлами | Права, переименование, атрибуты | Базовые | Базовые |
| Статус спецификации | Истёкший черновик IETF | RFC 4217 (только явный) | RFC 959 |
| Где встречается сегодня | Хостинги, серверы, CI | Банки, обмен с корпоратами | Легаси и локальная сеть |
Если выбирать не хочется, берите SFTP. Он проще в настройке, не требует сертификатов, спокойно работает за роутером и шифрует всё без дополнительных команд. FTPS осмысленно брать в одном случае: контрагент требует именно его, потому что так написано в его регламенте обмена. Обычный FTP без шифрования сегодня допустим разве что внутри закрытой локальной сети.
У SFTP нет своего RFC, и это заметно на практике
Пункт из таблицы, который выглядит формальностью, а бьёт по живой работе.
У FTP есть RFC 959, у FTPS — RFC 4217. У SFTP полноценного стандарта нет. Работа над спецификацией шла в IETF в виде черновика, последняя версия описывала шестую редакцию протокола, но документ истёк в январе 2007 года и до статуса RFC так и не дошёл. В шапке черновика написано честно: документ не одобрен IETF и формального веса в процессе стандартизации не имеет.
Что из этого следует. Мир де-факто остановился на третьей версии протокола, потому что именно её реализовал OpenSSH, самая распространённая серверная реализация. Версии 4, 5 и 6 существуют, но поддерживаются вразнобой. Расширения производители добавляют своими именами вида expand-path@openssh.com.
На практике вы это заметите так: одна и та же операция работает в одном клиенте и отваливается в другом, коммерческий SFTP-сервер умеет что-то, чего не умеет OpenSSH, а путь вида ~user/файл раскрывается не везде. Так и проявляется отсутствие единого стандарта: каждый разработчик добирает недостающее по своему усмотрению.
Отсюда простое рабочее правило. Если что-то не работает в графическом клиенте, попробуйте ту же операцию консольной командой
sftpиз состава OpenSSH. Она ведёт себя ближе всего к тому, что понимает сервер на самом деле. Если консоль пока пугает, начните с подборки основных команд Linux:sftpживёт ровно там же.
SFTP, SCP и FTP over SSH: три разные вещи
Рядом с SFTP ходят два соседа, которых с ним путают.
SCP (Secure Copy Protocol) тоже работает поверх SSH и тоже на порту 22, но это другой протокол. Он умеет ровно одно: скопировать файл туда или обратно. Ни списка папок, ни удаления, ни прав доступа.
В апреле 2022 года вышел OpenSSH 9.0, и в нём команда scp перестала использовать старый протокол SCP и начала работать по протоколу SFTP. Команда осталась прежней, механика под капотом сменилась. Разработчики пошли на это из-за хрупкости старого протокола с именами файлов: раньше символы вроде звёздочки приходилось экранировать вручную, потому что имя уходило в обработку удалённой командной оболочке. Вернуть старое поведение можно флагом -O.
То есть сегодня scp — это чаще всего SFTP с другим названием команды. На старых серверах это иногда ломает совместимость: в корпоративных дистрибутивах после обновления скрипты, годами работавшие через scp, внезапно требуют правок.
FTP over SSH — третья, самая редкая штука. Это обычный незашифрованный FTP, который прогоняют через SSH-тоннель. Формально трафик защищён, но мучения с двумя соединениями и портами данных никуда не деваются. Встречается в старых системах, которые собирали много лет назад, специально так делать смысла нет.
Как понять, какой протокол вам выдали

Ситуация из первого абзаца: в доступах написано «FTP», а что там на самом деле, непонятно. Разбираемся по косвенным признакам.
По порту
Порт 22 или любой нестандартный (2222, 2200) почти всегда означает SFTP. Порт 21 — это FTP или явный FTPS. Порт 990 означает неявный FTPS.
По тому, что ещё дали
Если вместе с доступами прислали файл ключа с расширением .pem, .ppk или без расширения, а пароля нет — это SFTP с авторизацией по ключу. У FTP и FTPS такого механизма нет в принципе.
По совпадению с SSH
Если этими же логином и паролем вы заходите на сервер в терминале, то это SFTP: доступ один и тот же, потому что протокол один и тот же.
Проверкой вручную
Самый надёжный способ занимает секунду. В терминале на macOS или Linux, а в Windows в PowerShell:
sftp -P 22 логин@адрес-сервера
Подключилось и показало приглашение sftp>, значит, перед вами SFTP. Ошибка «connection refused» означает, что на этом порту никто не слушает, и стоит попробовать порт из доступов. Ошибка авторизации значит, что протокол угадан верно, а логин или пароль нет.
Частая ошибка новичков. Порт задаётся заглавной
-P, а не строчной. Маленькая-pв этой команде означает «сохранить даты файлов» и к порту отношения не имеет.
Как подключиться по SFTP на практике
Через графический клиент
Самый простой путь для тех, кто не дружит с терминалом. FileZilla работает везде, WinSCP только для Windows, Cyberduck и Transmit для macOS.
В FileZilla открываете «Менеджер сайтов», создаёте новое подключение и в выпадающем списке протоколов выбираете именно «SFTP — SSH File Transfer Protocol», а не FTP. Дальше вбиваете хост, порт из доступов, логин и пароль. Если авторизация по ключу, в поле «Тип входа» ставите «Файл ключа» и указываете путь к приватному ключу.
При первом подключении клиент покажет отпечаток ключа сервера и спросит, доверяете ли вы ему. Это защита от подмены сервера: в идеале отпечаток стоит сверить с тем, что прислал администратор.
Через терминал
Полезные команды после подключения:
lsиcd— посмотреть список файлов и перейти в папку на сервереllsиlcd— то же самое, но у себя на компьютере (букваlозначает local)get файл— скачать файл к себеput файл— залить файл на серверget -r папка— скачать папку целикомchmod 644 файл— поменять права доступаbye— выйти
Для регулярных выгрузок обычно берут не sftp, а rsync поверх SSH: он докачивает только изменившееся и умеет продолжать после обрыва.
Где SFTP встречается на работе
Четыре сценария, в которых с протоколом сталкиваются чаще всего.
Заливка сайта на хостинг. Самый массовый случай: обновить тему, подложить картинки, поправить конфиг. Почти все хостеры сегодня дают SFTP по умолчанию, а обычный FTP надо включать отдельно. На что ещё смотреть при выборе площадки, разобрали в материале о выборе хостинга.
Обмен файлами между компаниями. Банки, страховые, маркетплейсы, платёжные системы. Одна сторона поднимает SFTP-сервер, вторая раз в сутки забирает или кладёт выгрузку. Здесь как раз чаще встречается FTPS: у корпораций регламенты писались в эпоху, когда TLS-сертификаты были привычнее SSH-ключей.
Автоматизация и деплой. Сборочные системы выкладывают готовые файлы на серверы, и делают это по SSH-ключу без пароля. Про инструменты, которые управляют такими конфигурациями, мы писали в разборе Chef в DevOps.
Резервные копии. Бэкапы уезжают на отдельный сервер по расписанию. Отдельный пользователь, заперт в своей папке, права только на запись.
Рядом лежит сетевая защита периметра, куда этот сервер смотрит. Если интересно, как устроена современная фильтрация трафика, посмотрите статью о межсетевых экранах нового поколения.
Слабые места SFTP
Минусы у протокола тоже есть.
Скорость. Шифрование стоит процессорного времени, а подтверждение каждого блока данных внутри одного соединения добавляет задержек. На тысячах мелких файлов и длинном канале SFTP заметно уступает FTP. Лечится увеличением числа параллельных потоков в клиенте или переходом на rsync.
Риск дать лишнего. Раз SFTP — это часть SSH, то пользователь с доступом к файлам по умолчанию получает и вход в терминал сервера. Настраивается это через ForceCommand internal-sftp и ChrootDirectory в конфиге SSH: пользователь запирается в своей папке и командную строку не получает. Пропущенный шаг даёт самую частую дыру в настройке SFTP у тех, кто настраивает его впервые.
Разнобой реализаций. Обратная сторона отсутствия стандарта, о которой говорили выше.
Меньше готовых инструментов у корпоратов. В больших компаниях процессы обмена нередко исторически заточены под FTPS с сертификатами.
Где научиться работать с серверами
SFTP — маленький кусочек большой темы. Рядом лежат SSH и ключи, права доступа в Linux, файрволы, настройка веб-сервера, резервное копирование и автоматизация. По отдельности это гуглится за вечер, а в голове складывается в систему сильно позже. Курс экономит именно этот этап: даёт порядок тем и практику на живых машинах, а не на скриншотах.
| Курс | Школа | Стоимость со скидкой | В рассрочку | Длительность | Обзор курса от Checkroi |
|---|---|---|---|---|---|
| Профессия «DevOps-инженер PRO» Перейти на сайт курса | 105 000 ₽ | 5783 ₽/мес. | 12 месяцев | Обзор курса | |
| Профессия «DevOps-инженер с нуля» Перейти на сайт курса | 189 000 ₽ | 7875 ₽/мес. | 24 месяца | Обзор курса | |
| Профессия «Системный администратор» Перейти на сайт курса | 76 700 ₽ | 5125 ₽/мес. | 11 месяцев | Обзор курса | |
| Профессия DevOps-инженер с нуля + ИИ Перейти на сайт курса | 119 988 ₽ | 3333 ₽/мес. | 9 месяцев | Обзор курса | |
| Системный администратор Перейти на сайт курса | 99 500 ₽ | 2764 ₽/мес. | 7 месяцев | Обзор курса | |
| Специализация «DevOps-инженер» Перейти на сайт курса | 130 200 ₽ | 5425 ₽/мес. | 12 месяцев | Обзор курса | |
| Devops-инженер с нуля Перейти на сайт курса | 105 400 ₽ | 4397 ₽/мес. | 14 месяцев | Обзор курса | |
| Тестирование и DevOps (Бакалавриат) Перейти на сайт курса | 330 000 ₽ | 27 500 ₽/мес. | 4 years | Обзор курса | |
| Профессия: DevOps-инженер Перейти на сайт курса | 55 890 ₽ | 1941 ₽/мес. | 5 месяцев | Обзор курса | |
| DevOps-инженер с нуля Перейти на сайт курса | 101 675 ₽ | 8473 ₽/мес. | Обзор курса |
Больше программ — в полном каталоге курсов по администрированию и DevOps
Если тема серверов и инфраструктуры зацепила всерьёз, посмотрите обзор профессии администратора Linux и материал о профессии системного администратора: там про задачи, зарплаты и точку входа без опыта. А подборка курсов для DevOps-инженеров пригодится тем, кто смотрит в сторону автоматизации и эксплуатации.
Коротко о главном
SFTP — это передача файлов внутри SSH-соединения. Отсюда все его свойства: порт тот же, что у SSH (обычно 22), соединение одно, шифруется всё и всегда, за роутером и файрволом работает без плясок.
FTPS — это старый FTP с доклеенным TLS. Два соединения шифруются порознь, нужны сертификаты и открытый диапазон портов, а неявный вариант на порту 990 вообще не описан стандартом. Обычный FTP не шифрует ничего, включая пароль.
Для типовой задачи «залить файлы на сервер» берите SFTP. К FTPS переходите, только если этого требует контрагент.




