Перейти к основному контенту

Настройка SFTP на Linux и подключение из под Windows

sftp-linux-windows-planetahost.png

В этой статье мы рассмотрим процесс установки и настройки SFTP сервера на операционных системах семейства Linux (Debian/Ubuntu), а также способ подключения к этим серверам из операционной системы Windows.

Протоколы передачи файлов

Следующая таблица поможет вам сравнить их ключевые особенности FTP, SFTP, TFTP:

Протокол Порт Безопасность  Основное назначение

FTP (File Transfer Protocol)

21 (TCP) ❌ Низкая: данные и аутентификация передаются в открытом виде Устаревший способ передачи файлов.

SFTP (SSH File Transfer Protocol)

22 (TCP) ✅ Высокая: все данные и команды шифруются через SSH Безопасная передача и управление файлами

TFTP (Trivial File Transfer Protocol)

69 (UDP) ❌ Отсутствует: нет шифрования и аутентификации Загрузка ОС по сети (PXE), обновление прошивок и конфигураций сетевых устройств

Важно: Протокол FTP не требует SSL-сертификата для своей работы, так как изначально не использует шифрование. Это является его главным недостатком с точки зрения безопасности. Для защиты данных рекомендуется использовать SFTP.

Самый простой, быстрый, а самое главное безопасный способ передачи данных на Linux сервер будет SFTP.

Установка и настройка SFTP-сервера

SFTP (SSH File Transfer Protocol) — безопасный протокол передачи файлов, работающий поверх SSH.

Если ОС была установлена из наших шаблонов на виртуальный или выделенный сервер, то Вы сможете сразу переходить к пункту подключения через FileZilla.

Если же ОС была установлена из ISO образа, то необходимо будет пройти по пунктам, установить и настроить пакет для дальнейшего подключения к серверу через SFTP.

Установка OpenSSH-server

В большинстве случаев SSH-сервер уже установлен. Понять, что сервер SSH установлен можно, если Вы уже подключаетесь к серверу по протоколу SSH, например через приложение Putty.

Если же после установки сервером Вы управляете удалённо через IPMI, VNC или KVM, то требуется установка.

Проверить статус SSH можно следующей командой:

sudo systemctl status ssh

Если ssh сервера нет, то вывод команды может быть следующим:

image.png

Далее обновляем информацию о репозиториях:

sudo apt update

И устанавливаем ssh-сервер:

sudo apt install openssh-server -y

После установки вывод команды systemctl status ssh будет следующим:

image.png

Если вывод такой, то Вы можете подключиться через SSH по логину и паролю пользователя который был введён при установке ОС.

Создание отдельного пользователя для SFTP

Вы можете создать отдельного пользователя только для подключения по SFTP и ограничить ему доступ.

  1. Создайте пользователя:
    • sudo useradd -m sftpuser
  2. И назначьте пароль:
    • sudo passwd sftpuser

  3. Предоставьте доступ к конкретному каталогу, например, /var/www:
    • # Создайте группу для пользователей с доступом
      sudo groupadd www-access
      # Добавьте пользователя в группу
      sudo usermod -a -G www-access sftpuser
      # Назначьте группу на каталог и дайте права
      sudo chgrp -R www-access /var/www
      sudo chmod -R 770 /var/www
    • Если установлен уже установлен, например веб сервер apache, то лучше воспользоваться следующими командами:
    • # Добавляем пользователя sftpuser в группу www-data
      sudo usermod -a -G www-data sftpuser
    • Теперь с помощью файлового менеджера ниже можно в папке www создать папку, например page и положить туда index.html. Полный путь будет /var/www/page/index.html
    • В таком случае при открытии в браузере страницы http://ip_адрес_сервера/page будет открываться данный html.

Это позволит пользователю sftpuser работать с содержимым /var/www

Передача файлов через SFTP от клиентской Windows к Linux серверу

Используйте графический клиент, такой как FileZilla Client.

Рассмотрим пример с FileZilla.

Скачиваем клиент с официального сайта FileZilla - The free FTP solution

image.png

Или по прямой ссылке: Download FileZilla Client и устанавливаем.

После установки запускаем FileZilla клиент:

image.png

В левой части будет дерево файлов на Вашем ПК, а в правой части будет дерево файлов сервера к которому мы собираемся подключиться.

Чтобы подключится, нужно в верхней части заполнить данные Хост, Имя пользователя, Пароль, Порт:

image.png

Если же Вы установили ОС из нашего шаблона, то данные для подключения можно найти в инструкции к выделенному или виртуальному серверу. В личном кабинете в левой панели выбрать "Товары/Услуги" - "Выделенные серверы" или "Виртуальные серверы" - выбрать нужный сервер и в верхней панели нажать кнопку "Инструкция".

Инструкция для выделенного сервера - Где можно посмотреть реквизиты доступа к серверу

Инструкция для виртуального сервера - Где можно посмотреть реквизиты доступа к серверу

Снимок экрана от 2025-11-24 09-50-19.png

Если же Вы установили ОС из ISO файла, и например настроили SSH сервер как показано Выше, то необходимо будет заполнить имя пользователя и пароль который был введен при установке системы.

В обоих случаях:

  • Хост - ip адрес сервера к которому Вы собираетесь подключиться (из инструкции IP-адрес сервера: )
  • Имя пользователя - логин (из инструкции Пользователь:)
  • Пароль - пароль от пользователя при установке (из инструкции Пароль:)
  • Порт - 22 стандартный SSH порт.

После успешного подключения в правой части появится дерево файлов на удалённом сервере:

image.png

Копировать файлы или папки можно просто перетаскивая их с левой части в правою и наоборот из правой части в левою.

Или кликнув правой кнопкой мыши по файлу или папке и в контекстном меню выбрать действие.

От локального ПК к серверу:


image.png

Из сервера на локальный ПК:

image.png

Заключение

Мы установили и настроили SFTP сервер на Linux, если ОС установлена из наших шаблонов то просто подключились к серверу используя программу FileZilla.

Теперь Вы сможете копировать файлы из локального компьютера на сервер и наоборот используя безопасный протокол для передачи данных.