Technical Anshu Главная › Уроки › Настройка SFTP-сервера Ubuntu
🔐 SFTP-сервер в Ubuntu

Настройка SFTP-сервера Ubuntu — безопасная передача файлов SSH

Установите OpenSSH в Ubuntu, создайте пользователя для передачи и начните принимать зашифрованные соединения SFTP через порт 22 — простой пошаговый маршрут с проверками безопасности, которые пропускает большинство руководств.

✍️ Technical Anshu🐧 Ubuntu / OpenSSH🎧 Multi-Language Audio
Настройка SFTP-сервера Ubuntu — безопасная передача файлов SSH
🎧 Многоязычное аудио: В видеоплеере нажмите [Настройки] (⚙️) ➔ [Аудиодорожка], чтобы выбрать язык.

📑Главы

  1. Что такое SFTP — передача файлов внутри SSH со сквозным шифрованием
  2. Установите пакет сервера OpenSSH в Ubuntu
  3. Запустите службу ssh и убедитесь, что она выдержит перезагрузку.
  4. Подтвердите строку подсистемы SFTP в sshd_config
  5. Создайте специального пользователя для переноса, а не вход в систему с правами администратора.
  6. Открыть брандмауэр для SSH
  7. Подключитесь со второго компьютера и передайте первый файл.
  8. Проверка безопасности перед реальным использованием сервера.

📋 Обзор и пошаговое руководство

1

Установите пакет сервера OpenSSH.

SFTP — это передача файлов, которая осуществляется внутри SSH, поэтому каждый пароль и каждый файл шифруются сквозным шифрованием. В Ubuntu это не отдельный продукт, за которым вы ищете — это небольшая часть сервера OpenSSH. Ubuntu поставляется с клиентом SSH, но серверная часть представляет собой отдельный пакет. Установите его:

Terminal
sudo apt update
sudo apt install openssh-server

Сначала запустите sudo apt update, чтобы список пакетов был обновлен, затем установите и подтвердите, нажав Y. Установщик создает конфигурацию в /etc/ssh/sshd_config и автоматически генерирует ключи хоста этого компьютера. Вот и все программное обеспечение, которое существует — SFTP — это подсистема этого сервиса, а не дополнительная загрузка, и он отвечает на стандартный порт SSH 22.

2

Запустите службу и сделайте так, чтобы она выдержала перезагрузку

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

Terminal
sudo systemctl status ssh
sudo systemctl enable ssh
sudo systemctl start ssh

sudo systemctl status ssh должна отображать зеленую строку active (running) — это означает, что SFTP-сервер уже прослушивает. sudo systemctl Enable ssh запускает его при каждой загрузке, а если он когда-либо останавливается, sudo systemctl start ssh возвращает его обратно. После любого последующего изменения конфигурации команда sudo systemctl restart ssh применяет его.

📌 Примечание. В Ubuntu служба называется ssh, а не sshd. Использование неправильного имени является наиболее распространенной причиной того, что правильное руководство не работает.
3

Подтвердите строку подсистемы SFTP.

Откройте конфигурацию один раз и просто посмотрите на нее:

Terminal
sudo nano /etc/ssh/sshd_config

Внизу вы должны найти эту строку, которую Ubuntu включает по умолчанию:

/etc/ssh/sshd_config
Subsystem sftp /usr/lib/openssh/sftp-server

Если строка отсутствует, добавьте ее точно так, как показано — без нее вход по SSH работает, но передача файлов отклоняется. Оставьте пока все остальное в покое; Усиливающие изменения в этом файле намеренно вносятся по одному параметру за раз.

4

Создайте выделенного пользователя для передачи

Никогда не передавайте свой логин администратора для передачи файлов. Создайте учетную запись, которая существует только для перемещения файлов:

Terminal
sudo adduser sftpuser

Установите пароль, когда его спросят, и пропустите вопросы об имени и телефоне, нажав Ввод — они не являются обязательными. Этот пользователь получает домашнюю папку /home/sftpuser и ничего больше.

✅ Совет: Одна учетная запись на человека – это привычка, благодаря которой журналы сервера будут иметь смысл в дальнейшем. Общая учетная запись означает общую вину — никто не может сказать, кто и что передал.
5

Откройте брандмауэр

Если UFW активен на сервере, порту 22 требуется явный проход, прежде чем любой клиент сможет получить доступ к службе:

Terminal
sudo ufw allow OpenSSH
sudo ufw status

Профиль OpenSSH открывает именно порт 22 — единственный порт, через который осуществляется как вход в систему SSH, так и передача SFTP. Прежде чем выполнять тестирование на другом компьютере, убедитесь, что правило указано в выводе состояния.

6

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

Со второго компьютера в той же сети подключитесь к пользователю передачи. Замените адрес реальным IP-адресом вашего сервера — запустите ip a на сервере, чтобы увидеть его:

Terminal (client machine)
sftp [email protected]

Внутри сеанса put загружает файл, get загружает его, а exit уходит. В Windows WinSCP и FileZilla поддерживают SFTP и подключаются только по адресу, порту 22, имени пользователя и паролю.

⚠️ Внимание: При первом подключении вы увидите отпечаток пальца. Введите yes только в том случае, если вы доверяете этому отпечатку пальца — это проверка, которая доказывает, что вы достигли своего собственного сервера, а не самозванца. И пока оставьте этот сервер в локальной сети: размещение его в Интернете — это другое решение, требующее входа в систему с помощью ключа вместо паролей и защиты, такой как Fail2ban. Не перенаправляйте порт маршрутизатора до тех пор, пока не будет выполнено усиление защиты.

Ваш сервер теперь работает. Быстрая установка дает вам работающий сервер, а не готовый — вход в открытый интернет по паролю, пользователи, которые видят весь диск, и отсутствие записей входа — вот три пробела, которые нужно закрыть один за другим.

🏷️Переменные и ключевые слова поиска по теме

🔍 SFTP Server 🔍 Ubuntu 🔍 OpenSSH 🔍 Secure File Transfer 🔍 SSH Port 22 🔍 openssh-server 🔍 sshd_config 🔍 systemctl ssh 🔍 SFTP User 🔍 UFW Firewall 🔍 WinSCP 🔍 FileZilla 🔍 TechnicalAnshu
🎙️ Полная расшифровка — нажмите, чтобы развернуть.

__TOK_31__

__TOK_32__

__TOK_33__

❓ Часто задаваемые вопросы (на английском языке)

Это руководство на 100 % бесплатно?

__TOK_34__

Могут ли новички следовать этому руководству?

__TOK_35__

Где я могу задать вопросы, если застрял?

__TOK_36__

🚀 Посмотрите полное руководство на YouTube

__TOK_37__

__TOK_38__

▶️ Посмотреть полное видео
Это руководство основано на видео Technical Anshu «Настройка SFTP-сервера Ubuntu» • Застряли на каком-либо этапе? Спрашивайте в комментариях к видео — там вам помогут 🙏