Настройка SFTP-сервера на Linux: пошаговое руководство
Серверные дистрибутивы Linux обладают большой мощью. Они справляются с любыми задачами, которые вы перед ними ставите. Если они не отвечают вашим потребностям «из коробки», их можно донастроить под себя.
Поговорим о SFTP. Это FTP-сервис, встроенный в Secure Shell (SSH), который позволяет безопасно передавать файлы между вашей машиной и сервером.
Сегодня я проведу вас через настройку SFTP-сервера. План - создать пользователя, чей аккаунт ограничен строго входом по SFTP. Освоив это, добавлять новых пользователей станет просто. Метод работает во всех дистрибутивах Linux.
Готовы начать?
Что понадобится
Нужен доступ к административному аккаунту. Когда он есть - приступим.
Создаём каталог SFTP
Сначала настроим каталог для ваших FTP-данных. Откройте терминал, переключитесь на root, набрав su, и введите пароль root. Затем выполните эти команды:
mkdir -p /data
chmod 701 /data
Создаём группу и пользователя
Теперь создадим выделенную группу для пользователей. Используйте эту команду:
groupadd sftp_users
Создадим пользователя, принадлежащего к этой группе, но без стандартных привилегий входа. Имя пользователя можно выбрать любое. Вот команда:
useradd -g sftp_users -d /upload -s /sbin/nologin USERNAME
Замените USERNAME на выбранное имя. После этого задайте пароль пользователю:
passwd USERNAME
Создаём каталог пользователя
Теперь создадим отдельный каталог для загрузки нового пользователя и установим правильные права. Выполните эти команды:
mkdir -p /data/USERNAME/upload
chown -R root:sftp_users /data/USERNAME
chown -R USERNAME:sftp_users /data/USERNAME/upload
Снова замените USERNAME на имя, которое использовали ранее.
Настраиваем SSHD
Далее отредактируем конфигурационный файл демона SSH. Откройте его:
nano /etc/ssh/sshd_config
В конце добавьте:
Match Group sftp_users
ChrootDirectory /data/%u
ForceCommand internal-sftp
Сохраните файл и перезапустите SSH:
systemctl restart sshd
Вход
Можно входить. С другой машины с установленным SSH откройте терминал и введите:
sftp USERNAME@SERVER_IP
Замените USERNAME на ваше имя пользователя, а SERVER_IP - на IP-адрес сервера. Введите пароль по запросу. После успешного входа вы увидите приглашение SFTP. Введите pwd, чтобы проверить текущий каталог; он должен показать /upload.
Настройка SFTP-сервера на Linux проста и экономна. Теперь вы можете предложить сотрудникам и клиентам безопасный способ управления передачей файлов. Наслаждайтесь простотой и безопасностью вашего нового сервера!
Повышение безопасности и обслуживание сервера
Хотя первоначальная настройка завершена, для поддержания здоровой среды SFTP нужны дополнительные шаги. Безопасность - движущаяся цель, и принцип «настроил и забыл» со временем может привести к уязвимостям.
Следите за логами
Всегда следите за тем, кто получает доступ к вашему серверу. Linux сохраняет попытки аутентификации в /var/log/auth.log (в Debian/Ubuntu) или /var/log/secure (в RHEL/CentOS). Регулярная проверка этих файлов помогает замечать неудачные попытки входа или атаки перебором. Если заметите подозрительную активность, рассмотрите установку Fail2Ban. Этот инструмент автоматически блокирует IP-адреса с чрезмерным числом неудачных попыток пароля.
Управляйте квотами хранилища
Если у вас много клиентов, загружающих большие файлы, дисковое пространство может быстро заполниться. Стоит внедрить дисковые квоты, ограничивающие объём данных, который может хранить каждый пользователь. Это не даёт одному человеку случайно обрушить сервер, заняв всё доступное пространство.
Обновляйте программное обеспечение
И наконец, всегда выполняйте регулярные обновления системы. Используйте команды вроде apt update && apt upgrade или dnf update еженедельно. Поскольку SFTP опирается на протокол SSH, работа с последней версией гарантирует наличие новейших патчей безопасности против хакеров. Эти небольшие привычки превращают хороший сервер в отличный инструмент профессионального уровня.
Чтобы заказать наши услуги по разработке программного обеспечения и системному администрированию, посетите нашу страницу контактов.
