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 }