# Подключение через SFTP: FileZilla, Cyberduck и командная строка

Source: https://support.kapsulehost.com/ru-ru/sftp-access

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

## Что такое SFTP и когда его использовать

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

- Загрузка или скачивание большого количества файлов одновременно (перенос сайта, массовая загрузка изображений).
- Передача больших файлов, которые не успевают загрузиться через браузерный интерфейс.
- Работа в рамках процесса разработки, когда вы редактируете файлы локально и отправляете изменения.
- Использование графического клиента, который позволяет синхронизировать локальную и удалённую папки.
- Доступ к журналам или конфигурационным файлам, которые не отображаются в файловом менеджере KPanel.

SFTP шифрует все передаваемые данные, что делает его более безопасным, чем обычный FTP. KapsuleHost не предлагает незашифрованные FTP-подключения.

![Данные SSH- и SFTP-подключения для сайта в KPanel](https://support.kapsulehost.com/help/screenshots/sftp-access.df4a2e3e.webp)

## Предварительные требования

Прежде чем вы сможете подключиться, нужно подготовить две вещи.

**1. SSH-ключ, добавленный к вашему сайту в KPanel.**

SFTP на KapsuleHost использует аутентификацию по SSH-ключу. Аутентификация по паролю отключена в целях безопасности. Если вы ещё не добавили свой открытый SSH-ключ, сначала следуйте руководству [Добавление SSH-ключей к вашему сайту](https://support.kapsulehost.com/ru-ru/adding-ssh-keys), а затем вернитесь сюда.

**2. Имя пользователя вашего сайта.**

Каждый сайт на KapsuleHost имеет выделенного системного пользователя. Это не адрес электронной почты вашей учётной записи KPanel. Это короткое имя пользователя, привязанное конкретно к этому сайту.

Чтобы его найти:
1. Войдите в KPanel по адресу [kpanel.kapsulehost.com](https://kpanel.kapsulehost.com).
2. Нажмите **Веб-сайты** в левой боковой панели.
3. Нажмите на сайт, к которому хотите подключиться.
4. Перейдите на страницу **SSH / SFTP**.
5. Имя пользователя вашего сайта показано в верхней части этой вкладки. Обычно оно выглядит как `mysite_com` или `myexamplesite_net`.

**Сводка данных для подключения:**

| Поле | Значение |
|---|---|
| Хост | `cp1-kapsule.kapsulehost.com` |
| Порт | `22` |
| Протокол | SFTP (не FTP, не FTPS) |
| Аутентификация | Только по SSH-ключу |
| Имя пользователя | Имя пользователя вашего сайта (из KPanel > Websites > [сайт] > Settings > SFTP) |

---

## Подключение через FileZilla

FileZilla - это бесплатный кроссплатформенный SFTP-клиент, доступный для Windows, macOS и Linux. Скачайте его с [filezilla-project.org](https://filezilla-project.org), если у вас его ещё нет.

### Пошаговая настройка

1. Откройте FileZilla.
2. Перейдите в **File > Site Manager** (или нажмите `Ctrl+S` на Windows / `Cmd+S` на Mac).
3. Нажмите **Добавить веб-сайт** и дайте ему название (например, «Мой сайт на KapsuleHost»).
4. На вкладке **General** настройте следующие поля:

   | Поле | Значение |
   |---|---|
   | Протокол | **SFTP - SSH File Transfer Protocol** |
   | Хост | `cp1-kapsule.kapsulehost.com` |
   | Порт | `22` |
   | Тип входа | **Key file** |
   | Пользователь | Имя пользователя вашего сайта (например, `mysite_com`) |
   | Файл ключа | Нажмите **Browse** и перейдите к файлу вашего закрытого ключа |

5. В качестве файла ключа выберите закрытый ключ, который соответствует открытому ключу, добавленному вами в KPanel. На macOS и Linux закрытые ключи обычно хранятся в `~/.ssh/` (например, `~/.ssh/id_ed25519` или `~/.ssh/id_rsa`). На Windows они часто находятся в `C:\Users\YourName\.ssh\`.

> **Note:** Если ваш закрытый ключ защищён парольной фразой, FileZilla предложит ввести её при подключении. Это нормально. Парольная фраза защищает файл вашего закрытого ключа и не связана с паролем KapsuleHost.

6. Нажмите **Connect**, чтобы проверить подключение, или **OK**, чтобы сохранить и подключиться позже.

### Сохранение и повторное подключение

После сохранения в Site Manager вы можете подключиться снова в любой момент, перейдя в **File > Site Manager** и нажав **Connect**. FileZilla также показывает сохранённые сайты в выпадающем списке на панели инструментов для быстрого доступа.

> **Tip:** В Site Manager FileZilla отметьте флажок **Always trust this host** при первом подключении, чтобы избежать запроса о ключе хоста при последующих подключениях.

---

## Подключение через Cyberduck

Cyberduck - это бесплатный SFTP-клиент для macOS и Windows. Скачайте его с [cyberduck.io](https://cyberduck.io).

### Пошаговая настройка

1. Откройте Cyberduck.
2. Нажмите **Open Connection** (значок глобуса на панели инструментов).
3. В выпадающем списке протоколов в верхней части окна выберите **SFTP (SSH File Transfer Protocol)**.
4. Заполните поля подключения:

   | Поле | Значение |
   |---|---|
   | Сервер | `cp1-kapsule.kapsulehost.com` |
   | Порт | `22` |
   | Имя пользователя | Имя пользователя вашего сайта (например, `mysite_com`) |
   | Пароль | Оставьте пустым |
   | SSH Private Key | Нажмите **Choose** и выберите файл вашего закрытого ключа |

5. Нажмите **Connect**.

При первом подключении Cyberduck попросит вас подтвердить отпечаток ключа хоста сервера. Нажмите **Allow**, чтобы продолжить. Если вы увидите этот запрос при последующем подключении с другим отпечатком, не принимайте его и обратитесь в поддержку, так как это может указывать на изменение конфигурации.

### Сохранение в виде закладки

Чтобы сохранить подключение для дальнейшего использования:
1. После успешного подключения перейдите в **Bookmark > New Bookmark** (или нажмите `Cmd+Shift+B` на Mac).
2. Присвойте закладке имя и закройте диалоговое окно. Закладка появится в вашем списке закладок Cyberduck.

---

## Подключение из терминала (Mac, Linux или WSL)

Если вы предпочитаете командную строку, команда `sftp` доступна на macOS, Linux и Windows Subsystem for Linux (WSL).

### Базовое подключение

```bash
sftp mysite_com@cp1-kapsule.kapsulehost.com
```

Замените `mysite_com` на реальное имя пользователя вашего сайта. Если ваш закрытый ключ находится не в расположении по умолчанию (`~/.ssh/id_rsa` или `~/.ssh/id_ed25519`), укажите его с помощью флага `-i`:

```bash
sftp -i ~/.ssh/your_private_key mysite_com@cp1-kapsule.kapsulehost.com
```

При первом подключении вас попросят подтвердить отпечаток хоста сервера. Введите `yes` и нажмите Enter. Это происходит только один раз для каждого ключа на каждом устройстве.

### Полезные команды SFTP

После подключения вы увидите приглашение `sftp>`. Используйте эти команды для навигации и передачи файлов:

| Команда | Что она делает |
|---|---|
| `ls` | Вывести список файлов в текущей удалённой директории |
| `lls` | Вывести список файлов в текущей локальной директории |
| `cd [dir]` | Сменить директорию на удалённом сервере |
| `lcd [dir]` | Сменить директорию на вашем локальном компьютере |
| `pwd` | Показать путь текущей удалённой директории |
| `lpwd` | Показать путь текущей локальной директории |
| `get [file]` | Скачать файл с удалённого сервера на локальный компьютер |
| `get -r [dir]` | Скачать директорию рекурсивно |
| `put [file]` | Загрузить файл с локального компьютера на удалённый сервер |
| `put -r [dir]` | Загрузить директорию рекурсивно |
| `rm [file]` | Удалить файл на удалённом сервере |
| `mkdir [dir]` | Создать директорию на удалённом сервере |
| `quit` | Закрыть SFTP-подключение |

**Пример: скачивание файла**
```bash
sftp> cd htdocs/wp-content/themes
sftp> get my-theme.zip
```

**Пример: загрузка файла**
```bash
sftp> lcd ~/Desktop
sftp> cd htdocs/wp-content/uploads
sftp> put my-image.jpg
```

---

## Где находятся ваши файлы

После подключения вы попадёте в домашнюю директорию пользователя вашего сайта: `/home/[siteuser]/`.

Структура директорий выглядит так:

```
/home/mysite_com/
├── htdocs/              ← Your web root (main location for site files)
│   ├── index.php
│   ├── wp-config.php
│   ├── wp-content/
│   │   ├── themes/
│   │   ├── plugins/
│   │   └── uploads/
│   └── ...
├── logs/                ← PHP and access logs
└── tmp/                 ← Temporary files
```

Корневая веб-директория, где находится WordPress (или другое приложение), это `htdocs/`. Это директория, в которой вы будете проводить большую часть времени. В некоторых конфигурациях сайта она может называться `public_html/`. Если при подключении вы видите `public_html/` вместо `htdocs/`, используйте её.

> **Note:** Вы можете получить доступ только к файлам, принадлежащим пользователю вашего сайта. Вы не можете перейти выше `/home/[siteuser]/` или получить доступ к директориям других клиентов. Это сделано намеренно.

---

## Устранение проблем с подключением

### «Connection refused»

Подключение было активно отклонено до установления соединения.

**Проверьте:** убедитесь, что вы используете хост `cp1-kapsule.kapsulehost.com` и порт `22`. Распространённая ошибка: указание порта `21` (это FTP, а не SFTP) или опечатка в имени хоста.

### «Permission denied (publickey)»

Сервер принял попытку подключения, но отклонил вашу аутентификацию.

**Проверьте каждое из следующего:**
- Ваш открытый SSH-ключ добавлен в **KPanel > Websites > [сайт] > Settings > SSH Keys**. Если его там нет, у сервера нет о нём записи.
- Вы выбрали правильный закрытый ключ в FileZilla/Cyberduck, а именно тот закрытый ключ, который соответствует открытому ключу, добавленному вами в KPanel.
- Если ваш ключ защищён парольной фразой, убедитесь, что вы вводите её правильно.
- Если у вас несколько ключей, убедитесь, что вы случайно не выбрали не тот.

### «Host key verification failed»

Ваш SFTP-клиент ранее уже видел другой ключ хоста для этого имени хоста и предупреждает вас о несовпадении.

**При первом подключении:** вас попросят принять отпечаток. Это нормально. Нажмите Accept или введите `yes`.

**При последующем подключении с новым отпечатком:** это может указывать на изменение конфигурации сервера. Прежде чем принимать его, обратитесь в поддержку по адресу [support@kapsulehost.com](mailto:support@kapsulehost.com) и опишите, что вы увидели.

Чтобы удалить старый ключ хоста в терминале, отредактируйте `~/.ssh/known_hosts` и удалите строку для `cp1-kapsule.kapsulehost.com`.

### «Could not read from remote repository» или неверная директория

Возможно, вы использовали адрес электронной почты вашей учётной записи KPanel в качестве имени пользователя вместо имени пользователя сайта.

**Проверьте:** имя пользователя должно быть именем пользователя вашего сайта (например, `mysite_com`), а не адресом электронной почты. Правильное имя пользователя можно найти в **KPanel > Websites > [сайт] > Settings > SFTP**.

### Превышено время ожидания подключения

Попытка подключения зависает, а затем истекает по тайм-ауту без какой-либо ошибки.

**Возможные причины:**
- Ваш IP-адрес может быть временно заблокирован брандмауэром KapsuleHost из-за повторных неудачных попыток входа. Обратитесь в поддержку по адресу [support@kapsulehost.com](mailto:support@kapsulehost.com) и попросите проверить журнал брандмауэра.
- Локальный брандмауэр или VPN в вашей сети могут блокировать исходящие подключения на порту 22. Попробуйте подключиться из другой сети (например, с мобильной точки доступа), чтобы исключить эту причину.

---

## Похожие статьи

- [Добавление SSH-ключей к вашему сайту](https://support.kapsulehost.com/ru-ru/adding-ssh-keys)
- [Использование файлового менеджера в KPanel](https://support.kapsulehost.com/ru-ru/file-manager)
- [Подключение к базе данных через SSH-туннель](https://support.kapsulehost.com/ru-ru/database-ssh-tunnel)
