SFTP, аббревиатура от SSH File Transfer Protocol (также известный как Secure File Transfer Protocol), – это сетевой протокол для безопасного доступа к файлам и их передачи с сервера.
SFTP является расширением SSH, а аутентификация осуществляется с помощью пары открытых и закрытых ключей.
Пара SSH-ключей
Сначала вам нужно создать пару ключей SSH и добавить ее открытый ключ на ваш веб-сервер.
Инструкции по этому вопросу можно найти в следующей справочной статье:
Подключение через протокол SSH
Установление соединения
В этой справочной статье приведены инструкции по созданию SFTP-соединения с помощью программ FileZilla, WinSCP и Visual Studio Code.
При дополнительных вопросах или если вы используете другую программу, обратитесь к документации и материалам поддержки программы (обычно они находятся в меню “Справка” программы).
.
FileZilla
Откройте Site Manager (1).
Добавьте новое соединение, нажав кнопку New site в диалоговом окне Site Manager dialog (2) и задав ему имя (например, доменное имя веб-сервера) (3).
В раскрывающемся меню Protocol, выберите SFTP (4). Поле Port можно оставить пустым, так как по умолчанию используется порт 22.
В поле Host, введите IP-адрес хостингового сервера или доменное имя веб-сервера, размещенного на этом сервере (5). Рекомендуется использовать IP-адрес, чтобы избежать возможных проблем с DNS домена.
Для параметра Logon Type выберите Key file из выпадающего меню (6). Поддерживаемые форматы закрытых ключей включают PEM и PPK от PuTTY. Если для загрузки закрытого ключа используется Pageant, выберите Interactive, в этом случае вам не нужно указывать местоположение закрытого ключа на компьютере.
Введите системное имя пользователя системы в текстовое поле User (7).
Для параметра Key file выберите файл закрытого ключа с вашего компьютера, соответствующий открытый ключ которого был добавлен на веб-сервер через Мой Zone (8).
Сохраните конфигурацию SFTP-соединения, нажав на кнопку OK (9).
Теперь SFTP-соединение для веб-сервера настроено, и его можно использовать для входа в систему, нажав на кнопку Connect.

WinSCP
Откройте диалоговое окно Login, нажав на вкладку New tab (1).
Чтобы добавить новое соединение, нажмите на New site (2).
Выберите SFTP в раскрывающемся меню File protocol (3).
В текстовом поле Host name введите IP-адрес хостингового сервера или доменное имя веб-сервера, размещенного на этом сервере (4). Рекомендуется использовать IP-адрес, чтобы избежать возможных проблем с DNS домена. Port number– 22.
Введите имя системное пользователя системы в текстовое поле User name (5). Оставьте текстовое поле Password пустым, так как используется аутентификация по паре ключей.
Откройте дополнительные настройки, нажав кнопку Advanced (6).
В открывшемся диалоговом окне выберите в дереве меню: SSH > Authentication (7).
WinSCP поддерживает закрытые ключи только в формате Putty (с расширением файла .PPK).
Если для загрузки закрытого ключа используется Pageant, отметьте опцию Attempt authentication using Pageant (8).
Или укажите местоположение файла закрытого ключа на компьютере с помощью поля Private key file (9).
Сохраните изменения, нажав кнопку OK (10).
Сохраните сайт, нажав кнопку Save (11) и присвоив ему имя.
Теперь вы можете установить SFTP-соединение, выбрав сайт из списка слева и нажав кнопку Login (12).

Visual Studio Code
Существуют различные расширения SFTP для Visual Studio Code. В данном руководстве используется следующее расширение SFTP:
Visual Studio Marketplace – SFTP
Github.com – vscode-sftp
Откройте вкладку расширений Visual Studio Code (1) и выполните поиск расширений по ключевому слову SFTP (2), а затем установите расширение, выделенное на изображении, нажав на кнопку Install (3).

Если установлено другое расширение SFTP, его конфигурация и функциональность могут отличаться, но параметры подключения будут одинаковыми. Для настройки следуйте документации по расширению.
На вкладке Visual Studio Code’s Explorer откройте папку или рабочую область, в которой вы хотите синхронизировать файлы с веб-сервером или загрузить файлы с веб-сервера – после этого в папке с именем .vscode будет создан файл конфигурации SFTP с именем sftp.json.
Откройте command palette (с помощью комбинации клавиш Ctrl + Shift + P) и введите SFTP: Config (1) в поле поиска и нажмите Enter, в результате чего будет создан файл конфигурации SFTP sftp.json и открыт для настройки.

Три различные конфигурации для файла sftp.json, в зависимости от того, как загружается закрытый ключ
Конфигурация sftp.json для прямой загрузки закрытого ключа:
{
    "name": "example.com - SFTP",
    "host": "217.146.69.1",
    "protocol": "sftp",
    "port": 22,
    "username": "virt1234",
    "privateKeyPath": "~/.ssh/id_ed25519_example.com",
    "passphrase": true,
    "openSsh": false,
    "uploadOnSave": false
}
Конфигурация sftp.json с помощью файла SSH config:
{
    "name": "example.com - SFTP",
    "host": "217.146.69.1",
    "protocol": "sftp",
    "port": 22,
    "username": "virt1234",
    "sshConfigPath": "~/.ssh/config",
    "uploadOnSave": false
}
Конфигурация sftp.json при использовании агента:
{
    "name": "example.com - SFTP",
    "host": "217.146.69.1",
    "protocol": "sftp",
    "port": 22,
    "username": "virt1234",
    "agent": "pageant",
    "remotePath": "/data01/virt1234/domeenid/www.example.com",
    "uploadOnSave": false
}