1. Home
  2. Техническое
  3. SSH / Shell
  4. Установка SFTP-соединения
  1. Home
  2. Техническое
  3. Установка SFTP-соединения

Установка SFTP-соединения

SFTP, аббревиатура от SSH File Transfer Protocol (также известный как Secure File Transfer Protocol), – это сетевой протокол для безопасного доступа к файлам и их передачи с сервера.
SFTP является расширением SSH, а аутентификация осуществляется с помощью пары открытых и закрытых ключей.

Пара SSH-ключей

Сначала вам нужно создать пару ключей SSH и добавить ее открытый ключ на ваш веб-сервер.
Инструкции по этому вопросу можно найти в следующей справочной статье:
Подключение через протокол SSH

Установление соединения

В этой справочной статье приведены инструкции по созданию SFTP-соединения с помощью программ FileZilla, WinSCP и Visual Studio Code.
При дополнительных вопросах или если вы используете другую программу, обратитесь к документации и материалам поддержки программы (обычно они находятся в меню “Справка” программы).

Параметры соединения

Чтобы установить SFTP-соединение, вам необходимо знать IP-адрес веб-сервера и имя пользователя системы.
Их можно найти на странице управления веб-хостингом в разделе “Мой Zone”, выбрав из меню:
Веб-хостинг > Данные сервера: IP адрес и Системное имя пользователя и группа.

.

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.

FileZilla SFTP ühenduse seaded.

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).

WinSCP SFTP ühenduse seaded

Visual Studio Code

Существуют различные расширения SFTP для Visual Studio Code. В данном руководстве используется следующее расширение SFTP:
Visual Studio Marketplace – SFTP
Github.com – vscode-sftp

Откройте вкладку расширений Visual Studio Code (1) и выполните поиск расширений по ключевому слову SFTP (2), а затем установите расширение, выделенное на изображении, нажав на кнопку Install (3).

Visual Studio Code - SFTP laienduse paigaldamine

Если установлено другое расширение SFTP, его конфигурация и функциональность могут отличаться, но параметры подключения будут одинаковыми. Для настройки следуйте документации по расширению.

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

Visual Studio Code - SFTP laienduse seaded

Пояснения к параметрам в файле конфигурации sftp.json

name: имя, под которым распознается конфигурация SFTP
host: IP-адрес или доменное имя веб-сервера.
username: имя виртуального аккаунта веб-сервера
privateKeyPath: местонахождение закрытого ключа на компьютере
passphrase: “true”, если закрытый ключ защищен паролем, “null” в противном случае, или опустите этот параметр.
sshConfigPath: Расположение файла конфигурации OpenSSH “config” на компьютере, по умолчанию в папке “.ssh” в домашней папке пользователя.
agent: при использовании агента для загрузки закрытого ключа (читайте документацию, если используете что-то другое, кроме Pageant).
remotePath: полный путь сервера к каталогу, который открывается после установления соединения и из которого вы не можете перейти вверх.

Об остальных настройках читайте в документации.

Три различные конфигурации для файла 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
}
Updated on 23. Apr 2024

Was this article helpful?

Related Articles