SFTP: что это такое, как работает и чем отличается от FTP и FTPS

SFTP, FTPS и FTP выглядят как три версии одного протокола, хотя общего у них только задача: перекладывать файлы на сервер. Разобрали простыми словами, как SFTP устроен внутри SSH, почему у него нет ни своего порта, ни своего стандарта, почему за роутером ему хватает одного порта вместо целого диапазона у FTPS и как за секунду проверить, какой протокол вам выдали в доступах. Пригодится всем, кто хоть раз заходил на сервер через FileZilla.
Статью написал:
Ваня Буявец, продюсер, основатель Checkroi
Ваня Буявец
Основатель Checkroi, продюсер, эксперт в выборе онлайн-курсов
Все 2417 статей автора Подписаться на Телеграм-канал
Одобрено экспертом:
Наташа Буявец, основатель Checkroi, эксперт по онлайн-курсам
Наташа Буявец
Основательница Checkroi, продюсер Youtube-каналов, эксперт по онлайн-курсам
Все 3077 экспертных мнений Подписаться на Телеграм-канал
Обложка: SFTP: что это такое, как работает и чем отличается от FTP и FTPS

Заказчик прислал доступы: хост, логин, пароль и строчку «подключение по SFTP, порт 22». Вы открываете FileZilla, видите в выпадающем списке сразу три похожих пункта (FTP, FTPS и SFTP) и понимаете, что разница между ними вам неизвестна. А выбрать надо прямо сейчас.

Разберём, что такое SFTP, как он устроен внутри, чем отличается от FTP и FTPS, и почему эти три аббревиатуры путают даже люди, которые годами заливают файлы на сервер. Заодно покажем практический способ понять, какой протокол вам выдали, если в доступах об этом ни слова.

Если про сам сервер вы пока знаете немного, стоит начать с материала о кодах ответа сервера: там разобрано, как вообще устроен диалог между вашей программой и удалённой машиной.

Статья пригодится не только администраторам. Файлы по SFTP заливают верстальщики, вебмастера, аналитики, которые забирают выгрузки из чужой системы, и все, кто хоть раз обновлял сайт руками. Отдельно стоят инженеры, которые настраивают такой доступ другим, про их работу мы писали в обзоре профессии системного инженера.

Захотите разобраться в теме системно, а не по одному протоколу за вечер, загляните в подборку курсов по администрированию и DevOps: там программы от коротких интенсивов по Linux до годовых курсов с практикой на живых серверах.

CheckroiCheckroiПодборка курсов по администрированию и DevOps68 курсов • 18 школСравните цены, школы, программу и найдите выгодные предложения по обучениюСравнить

SFTP простыми словами

Рой-системный администратор подключается к серверу по 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 работает так:

  1. Клиент открывает одно TCP-соединение к серверу на порт SSH.
  2. Стороны договариваются о шифровании и проверяют друг друга: сервер показывает свой отпечаток, клиент предъявляет пароль или ключ.
  3. Внутри защищённого соединения запускается подсистема sftp.
  4. Дальше всё, от списка файлов и перехода по папкам до загрузки и смены прав, идёт сообщениями внутри этого же соединения.

Ни на одном шаге не открывается второе соединение. Ни один байт не уходит в открытом виде: логин, пароль, имена файлов, содержимое, всё внутри одного зашифрованного потока.

Второе полезное свойство: 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 без шифрования сегодня допустим разве что внутри закрытой локальной сети.

CheckroiCheckroiПодборка курсов по Linux150 курсов • 26 школСравните цены, школы, программу и найдите выгодные предложения по обучениюСравнить Ваня БуявецКанал основателя Checkroi Вани БуявцаЗабирайте промпты и обучение по нейросетям в моём Телеграм-каналеБольше 3 700 человек уже применяют Claude Code, ChatGPT и другие нейросети в работе, учёбе, бизнесе и жизниПерейти в канал

У 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: он докачивает только изменившееся и умеет продолжать после обрыва.

CheckroiCheckroiПодборка курсов для DevOps-инженеров92 курса • 18 школСравните цены, школы, программу и найдите выгодные предложения по обучениюСравнить

Где 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»
Перейти на сайт курса
SkillboxSkillbox105 000 ₽5783 ₽/мес.12 месяцевОбзор курса
Профессия «DevOps-инженер с нуля»
Перейти на сайт курса
НетологияНетология189 000 ₽7875 ₽/мес.24 месяцаОбзор курса
Профессия «Системный администратор»
Перейти на сайт курса
НетологияНетология76 700 ₽5125 ₽/мес.11 месяцевОбзор курса
Профессия DevOps-инженер с нуля + ИИ
Перейти на сайт курса
SkillboxSkillbox119 988 ₽3333 ₽/мес.9 месяцевОбзор курса
Системный администратор
Перейти на сайт курса
GeekBrainsGeekBrains99 500 ₽2764 ₽/мес.7 месяцевОбзор курса
Специализация «DevOps-инженер»
Перейти на сайт курса
НетологияНетология130 200 ₽5425 ₽/мес.12 месяцевОбзор курса
Devops-инженер с нуля
Перейти на сайт курса
НетологияНетология105 400 ₽4397 ₽/мес.14 месяцевОбзор курса
Тестирование и DevOps (Бакалавриат)
Перейти на сайт курса
Университет СинергияУниверситет Синергия330 000 ₽27 500 ₽/мес.4 yearsОбзор курса
Профессия: DevOps-инженер
Перейти на сайт курса
ProductStarProductStar55 890 ₽1941 ₽/мес.5 месяцевОбзор курса
DevOps-инженер с нуля
Перейти на сайт курса
ИТ Школа РостелекомИТ Школа РТК101 675 ₽8473 ₽/мес.Обзор курса

Больше программ — в полном каталоге курсов по администрированию и DevOps

Если тема серверов и инфраструктуры зацепила всерьёз, посмотрите обзор профессии администратора Linux и материал о профессии системного администратора: там про задачи, зарплаты и точку входа без опыта. А подборка курсов для DevOps-инженеров пригодится тем, кто смотрит в сторону автоматизации и эксплуатации.

Коротко о главном

SFTP — это передача файлов внутри SSH-соединения. Отсюда все его свойства: порт тот же, что у SSH (обычно 22), соединение одно, шифруется всё и всегда, за роутером и файрволом работает без плясок.

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

Для типовой задачи «залить файлы на сервер» берите SFTP. К FTPS переходите, только если этого требует контрагент.

Часто задаваемые вопросы

Какой порт использует SFTP?

Тот же, что и SSH, по умолчанию 22. Своего порта у SFTP нет: он работает внутри SSH-соединения, а не открывает собственное. Поэтому если администратор перевесил SSH на нестандартный порт (например, 2222), туда же переедет и SFTP. Отдельно настраивать ничего не нужно.

Чем SFTP отличается от FTPS?

SFTP построен на SSH и использует одно соединение, в котором зашифровано всё и всегда. FTPS — это старый FTP с доклеенным TLS: соединений два (управляющее и для данных), и каждое шифруется отдельными командами. Из-за двух каналов FTPS требует открытого диапазона портов на файрволе, а SFTP спокойно работает через один порт.

SFTP и FTP — это одно и то же?

Нет, это два разных протокола, а не версии одного. FTP описан в RFC 959 и не шифрует ничего: логин, пароль и содержимое файлов летят открытым текстом. SFTP — это отдельный протокол поверх SSH, который к FTP не имеет отношения ни по устройству, ни по командам. Общего у них только слово «FTP» в названии.

Нужно ли ставить отдельную программу, чтобы работал SFTP?

На стороне сервера обычно нет: если на машине работает SSH, SFTP там уже доступен. На вашем компьютере нужен клиент — либо графический (FileZilla, WinSCP, Cyberduck), либо встроенная команда sftp из состава OpenSSH, которая есть в macOS, Linux и современных версиях Windows.

Почему при подключении по SFTP пишет connection refused?

Чаще всего это значит, что на указанном порту никто не слушает. Проверьте порт из доступов: если SSH перевесили с 22 на другой номер, стандартный порт подставится сам и не подойдёт. Второй частый случай — сервер закрыт файрволом или пускает только с определённых IP. Ошибка авторизации, в отличие от connection refused, означает, что протокол и порт вы угадали верно.

Что безопаснее — SFTP или FTPS?

При правильной настройке оба защищают трафик, но у SFTP меньше шансов настроить его неправильно. В FTPS можно зашифровать управляющее соединение командой AUTH TLS и забыть про PROT P — тогда пароль уедет зашифрованным, а сами файлы в открытом виде. В SFTP шифруется весь поток целиком, и «наполовину защищённого» варианта там не существует.

Можно ли подключиться по SFTP без пароля, по ключу?

Да, и это рекомендуемый способ. Раз SFTP живёт внутри SSH, он использует те же SSH-ключи: приватный хранится у вас, публичный кладут на сервер. В FileZilla для этого в поле «Тип входа» выбирают «Файл ключа» и указывают путь к приватному ключу. У FTP и FTPS такого механизма нет в принципе.

Чем отличается SFTP от SCP?

Оба работают поверх SSH на том же порту, но SCP умеет только скопировать файл туда или обратно, без списка папок, удаления и работы с правами. С апреля 2022 года в OpenSSH 9.0 команда scp под капотом сама переключилась на протокол SFTP — старое поведение возвращается флагом -O. То есть сегодня scp чаще всего и есть SFTP с другим названием команды.

Есть ли у SFTP официальный стандарт?

Полноценного RFC у SFTP нет. Спецификация разрабатывалась в IETF как черновик, последняя редакция описывала шестую версию протокола, но документ истёк в январе 2007 года и до статуса RFC не дошёл. На практике мир остановился на третьей версии, которую реализует OpenSSH, а расширения производители добавляют своими именами. Отсюда и мелкие несовместимости между разными клиентами и серверами.

Как понять, что мне выдали SFTP, а не FTP?

Смотрите на три признака. Порт 22 или нестандартный вроде 2222 почти всегда означает SFTP, порт 21 — это FTP или явный FTPS, порт 990 — неявный FTPS. Если вместе с доступами прислали файл ключа, а пароля нет, это точно SFTP. И самый надёжный способ: если этими же логином и паролем вы заходите на сервер в терминале, значит, протокол один и тот же.

Читайте Checkroi первым в Google
Добавьте Checkroi в избранные источники — и наши разборы курсов и обзоры школ будут показываться выше в вашей выдаче Google.
Оставить комментарий
0 комментариев
Форма комментария

Оставьте комментарий

Напишите, что думаете. Нам важно ваше мнение!