Настройка SFTP-сервера Ubuntu — безопасная передача файлов SSH
Установите OpenSSH в Ubuntu, создайте пользователя для передачи и начните принимать зашифрованные соединения SFTP через порт 22 — простой пошаговый маршрут с проверками безопасности, которые пропускает большинство руководств.
📑Главы
- Что такое SFTP — передача файлов внутри SSH со сквозным шифрованием
- Установите пакет сервера OpenSSH в Ubuntu
- Запустите службу ssh и убедитесь, что она выдержит перезагрузку.
- Подтвердите строку подсистемы SFTP в sshd_config
- Создайте специального пользователя для переноса, а не вход в систему с правами администратора.
- Открыть брандмауэр для SSH
- Подключитесь со второго компьютера и передайте первый файл.
- Проверка безопасности перед реальным использованием сервера.
📋 Обзор и пошаговое руководство
Установите пакет сервера OpenSSH.
SFTP — это передача файлов, которая осуществляется внутри SSH, поэтому каждый пароль и каждый файл шифруются сквозным шифрованием. В Ubuntu это не отдельный продукт, за которым вы ищете — это небольшая часть сервера OpenSSH. Ubuntu поставляется с клиентом SSH, но серверная часть представляет собой отдельный пакет. Установите его:
sudo apt update
sudo apt install openssh-server
Сначала запустите sudo apt update, чтобы список пакетов был обновлен, затем установите и подтвердите, нажав Y. Установщик создает конфигурацию в /etc/ssh/sshd_config и автоматически генерирует ключи хоста этого компьютера. Вот и все программное обеспечение, которое существует — SFTP — это подсистема этого сервиса, а не дополнительная загрузка, и он отвечает на стандартный порт SSH 22.
Запустите службу и сделайте так, чтобы она выдержала перезагрузку
Пакет обычно запускает службу сам. Докажите это и убедитесь, что он возвращается после отключения электроэнергии:
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 применяет его.
ssh, а не sshd. Использование неправильного имени является наиболее распространенной причиной того, что правильное руководство не работает.Подтвердите строку подсистемы SFTP.
Откройте конфигурацию один раз и просто посмотрите на нее:
sudo nano /etc/ssh/sshd_config
Внизу вы должны найти эту строку, которую Ubuntu включает по умолчанию:
Subsystem sftp /usr/lib/openssh/sftp-server
Если строка отсутствует, добавьте ее точно так, как показано — без нее вход по SSH работает, но передача файлов отклоняется. Оставьте пока все остальное в покое; Усиливающие изменения в этом файле намеренно вносятся по одному параметру за раз.
Создайте выделенного пользователя для передачи
Никогда не передавайте свой логин администратора для передачи файлов. Создайте учетную запись, которая существует только для перемещения файлов:
sudo adduser sftpuser
Установите пароль, когда его спросят, и пропустите вопросы об имени и телефоне, нажав Ввод — они не являются обязательными. Этот пользователь получает домашнюю папку /home/sftpuser и ничего больше.
Откройте брандмауэр
Если UFW активен на сервере, порту 22 требуется явный проход, прежде чем любой клиент сможет получить доступ к службе:
sudo ufw allow OpenSSH
sudo ufw status
Профиль OpenSSH открывает именно порт 22 — единственный порт, через который осуществляется как вход в систему SSH, так и передача SFTP. Прежде чем выполнять тестирование на другом компьютере, убедитесь, что правило указано в выводе состояния.
Подключите и передайте первый файл
Со второго компьютера в той же сети подключитесь к пользователю передачи. Замените адрес реальным IP-адресом вашего сервера — запустите ip a на сервере, чтобы увидеть его:
sftp [email protected]
Внутри сеанса put загружает файл, get загружает его, а exit уходит. В Windows WinSCP и FileZilla поддерживают SFTP и подключаются только по адресу, порту 22, имени пользователя и паролю.
yes только в том случае, если вы доверяете этому отпечатку пальца — это проверка, которая доказывает, что вы достигли своего собственного сервера, а не самозванца. И пока оставьте этот сервер в локальной сети: размещение его в Интернете — это другое решение, требующее входа в систему с помощью ключа вместо паролей и защиты, такой как Fail2ban. Не перенаправляйте порт маршрутизатора до тех пор, пока не будет выполнено усиление защиты.Ваш сервер теперь работает. Быстрая установка дает вам работающий сервер, а не готовый — вход в открытый интернет по паролю, пользователи, которые видят весь диск, и отсутствие записей входа — вот три пробела, которые нужно закрыть один за другим.
🏷️Переменные и ключевые слова поиска по теме
🎙️ Полная расшифровка — нажмите, чтобы развернуть.
__TOK_31__
__TOK_32__
__TOK_33__
❓ Часто задаваемые вопросы (на английском языке)
Это руководство на 100 % бесплатно?
__TOK_34__
Могут ли новички следовать этому руководству?
__TOK_35__
Где я могу задать вопросы, если застрял?
__TOK_36__