TestРуководство: Как подключиться к VPS через FileZilla по SFTP с помощью SSH-ключа
Для безопасного управления файлами на вашем сервере (например, для загрузки файлов веб-сайта или конфигураций docker-compose.yml) рекомендуется использовать визуальный FTP-клиент. Поскольку доступ по паролю на современных серверах часто отключен в целях безопасности, в этой статье мы рассмотрим настройку подключения через протокол SFTP (SSH File Transfer Protocol) с использованием вашего приватного SSH-ключа.
Предварительные требования
Перед началом настройки убедитесь, что у вас есть:
- IP-адрес вашего VPS (например,
123.45.67.89). - Имя пользователя для подключения (обычно
root,ubuntuили созданный вами пользователь, например,username). - Приватный SSH-ключ, сохраненный на вашем компьютере (например,
id_ed25519илиid_rsa). - Настроенный и работающий SSH-доступ к серверу.
Шаг 1. Установка FileZilla
Если программа еще не установлена, скачайте FileZilla Client с официального сайта filezilla-project.org и выполните стандартную установку с параметрами по умолчанию. Версии доступны для Windows, macOS и Linux.
Шаг 2. Настройка подключения (Менеджер сайтов)
Для регулярного и безопасного подключения по SSH-ключу не рекомендуется использовать панель быстрого подключения. Нам необходимо создать профиль в «Менеджере сайтов».
- Откройте FileZilla.
- В верхнем левом углу нажмите на иконку «Менеджер сайтов» (Site Manager) или используйте сочетание клавиш
Ctrl + S(Windows/Linux) /Cmd + S(macOS). - В появившемся окне нажмите кнопку «Новый сайт» (New Site) и задайте ему понятное имя, например,
Мой VPS - example.com.
Шаг 3. Ввод параметров сервера
В правой части окна «Менеджера сайтов» на вкладке Общие (General) укажите следующие настройки:
- Протокол (Protocol): выберите
SFTP - SSH File Transfer Protocol. (Критически важно: обычный FTP работать не будет!) - Хост (Host): укажите IP-адрес вашего сервера (например,
123.45.67.89). - Порт (Port):
22(стандартный порт SSH, можно оставить пустым). - Тип входа (Logon Type): выберите
Ключевой файл(Key file). - Пользователь (User): укажите вашего пользователя Linux (например,
username). - Ключевой файл (Key file): нажмите кнопку «Обзор» (Browse) и укажите путь к вашему приватному SSH-ключу на локальном компьютере (например,
C:\Users\Username\.ssh\id_ed25519).
💡 Важно для пользователей Windows: При нажатии кнопки «Обзор», FileZilla по умолчанию ищет файлы с расширением
.ppkили.pem. Если ваш ключ не имеет расширения (как стандартныйid_ed25519), в окне выбора файла в правом нижнем углу измените тип отображаемых файлов с «PPK files» на «All files (.)».
Примечание: Современные версии FileZilla автоматически распознают формат Ed25519 и ключи OpenSSH. Если программа предложит конвертировать ваш ключ в формат PuTTY (.ppk) — соглашайтесь, сохраните новый файл в той же папке и используйте его для подключения.
Шаг 4. Первое подключение
- Убедившись, что все поля заполнены верно, нажмите кнопку «ОК» для сохранения профиля или «Соединиться» (Connect) для немедленного подключения.
- При самом первом подключении к новому серверу появится всплывающее окно с предупреждением о неизвестном ключе хоста (Unknown host key). Это стандартная процедура проверки безопасности.
- Поставьте галочку «Всегда доверять этому хосту, добавить этот ключ в кэш» (Always trust this host, add this key to the cache) и нажмите ОК.
Шаг 5. Работа с файлами (Загрузка проекта)
После успешного подключения интерфейс FileZilla разделится на две панели:
- Левая панель (Локальный сайт): Файловая система вашего компьютера.
- Правая панель (Удаленный сайт): Файловая система вашего сервера VPS (по умолчанию открывается домашняя директория пользователя, например,
/home/username/).
Пример: Как загрузить файлы проекта (например, docker-compose.yml):
- В левой панели откройте папку на вашем компьютере, где хранятся подготовленные файлы.
- В правой панели создайте директорию для вашего проекта. Кликните правой кнопкой мыши -> «Создать каталог» (Create directory) и назовите его, например,
my_project. - Двойным кликом перейдите в созданную папку на сервере.
- Перетащите нужные файлы из левой панели в правую (или кликните по ним дважды левой кнопкой мыши).
Готово! Ваши файлы безопасно переданы на сервер по зашифрованному SFTP-каналу. Теперь вы можете подключиться к серверу через SSH-терминал и запустить ваш проект.
🛠 Устранение типичных ошибок
Ошибка: «Disconnected: No supported authentication methods available»
- Причина: Сервер отклонил ваш SSH-ключ.
- Решение:
- Убедитесь, что открытая часть вашего ключа (
id_ed25519.pubилиid_rsa.pub) добавлена в файл/home/username/.ssh/authorized_keysна сервере. - Проверьте настройки SSH-сервера: в файле
/etc/ssh/sshd_configпараметрPubkeyAuthenticationдолжен быть установлен вyes. - Проверьте права доступа: папка
.sshна сервере должна иметь права700, а файлauthorized_keys— права600.
- Убедитесь, что открытая часть вашего ключа (
Ошибка: «Could not connect to server» / «Connection refused»
- Причина: Клиент не может достучаться до сервера.
- Решение:
- Убедитесь, что выбран протокол SFTP, а не FTP.
- Проверьте правильность введенного IP-адреса.
- Убедитесь, что порт 22 не заблокирован брандмауэром сервера (UFW, iptables) или фаерволом вашего хостинг-провайдера.
Ошибка: «Permission denied» / «Отказано в доступе» при передаче файла
- Причина: Вы вошли под обычным пользователем (не
root) и пытаетесь загрузить или изменить файлы за пределами вашей домашней директории (например, напрямую в/var/www/или/etc/). - Решение:
- Быстрый способ: Загрузите файлы в свою домашнюю директорию (в
/home/username/). Затем откройте SSH-терминал и переместите их в нужную системную папку с правами суперпользователя:sudo mv /home/username/file.txt /var/www/. - Системный способ: Настройте правильные права доступа на сервере для целевой папки (например, с помощью команд
chownили добавления пользователя в нужную группу), что подробно разбирается в руководствах по настройке сервера.
- Быстрый способ: Загрузите файлы в свою домашнюю директорию (в