Настройка SFTP на Linux и подключение из под Windows
В этой статье мы рассмотрим процесс установки и настройки 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 сервера нет, то вывод команды может быть следующим:
Далее обновляем информацию о репозиториях:
sudo apt update
И устанавливаем ssh-сервер:
sudo apt install openssh-server -y
После установки вывод команды systemctl status ssh будет следующим:
Если вывод такой, то Вы можете подключиться через SSH по логину и паролю пользователя который был введён при установке ОС.
Создание отдельного пользователя для SFTP
Вы можете создать отдельного пользователя только для подключения по SFTP и ограничить ему доступ.
- Создайте пользователя:
-
sudo useradd -m sftpuser
-
- И назначьте пароль:
-
sudo passwdsftppasssftpuser Вместоsftppassжелательно придумать сложный пароль.
-
- Предоставьте доступ к конкретному каталогу, например, /var/www:
-
# Создайте группу для пользователей с доступом sudo groupadd www-access # Добавьте пользователя в группу sudo usermod -a -G www-access myuser # Назначьте группу на каталог и дайте права sudo chgrp -R www-access /var/www sudo chmod -R 770 /var/www
-
Это позволит пользователю myuser работать с содержимым /var/www
Передача файлов через SFTP от клиентской Windows к Linux серверу
Используйте графический клиент, такой как FileZilla Client.
Рассмотрим пример с FileZilla.
Скачиваем клиент с официального сайта FileZilla - The free FTP solution
Или по прямой ссылке: Download FileZilla Client и устанавливаем.
После установки запускаем FileZilla клиент:
В левой части будет дерево файлов на Вашем ПК, а в правой части будет дерево файлов сервера к которому мы собираемся подключиться.
Чтобы подключится, нужно в верхней части заполнить данные Хост, Имя пользователя, Пароль, Порт:
Если же Вы установили ОС из нашего шаблона, то данные для подключения можно найти в инструкции к выделенному или виртуальному серверу. В личном кабинете в левой панели выбрать "Товары/Услуги" - "Выделенные серверы" или "Виртуальные серверы" - выбрать нужный сервер и в верхней панели нажать кнопку "Инструкция".
Инструкция для выделенного сервера - Где можно посмотреть реквизиты доступа к серверу
Инструкция для виртуального сервера - Где можно посмотреть реквизиты доступа к серверу
Если же Вы установили ОС из ISO файла, и например настроили SSH сервер как показано Выше, то необходимо будет заполнить имя пользователя и пароль который был введен при установке системы.
В обоих случаях:
- Хост - ip адрес сервера к которому Вы собираетесь подключиться (из инструкции IP-адрес сервера: )
- Имя пользователя - логин (из инструкции Пользователь:)
- Пароль - пароль от пользователя при установке (из инструкции Пароль:)
- Порт - 22 стандартный SSH порт.
После успешного подключения в правой части появится дерево файлов на удалённом сервере:
Копировать файлы или папки можно просто перетаскивая их с левой части в правою и наоборот из правой части в левою.
Или кликнув правой кнопкой мыши по файлу или папке и в контекстном меню выбрать действие.
От локального ПК к серверу:
Из сервера на локальный ПК:
Заключение
Мы установили и настроили SFTP сервер на Linux, если ОС установлена из наших шаблонов то просто подключились к серверу используя программу FileZilla.
Теперь Вы сможете копировать файлы из локального компьютера на сервер и наоборот используя безопасный протокол для передачи данных.








