Настройка SFTP сервера на Linux

Это будет очень краткая публикация о том, как выполняется настройка SFTP сервера на Linux. В качестве дистрибутива я буду использовать Ubuntu 20.04 LTS.

Настройка SFTP сервера

Сначала нужно установить SSH сервер. Я буду использовать openssh-server:

sudo apt install -y openssh-server

Теперь я настрою автоматический запуск сервера и запущу его:

sudo systemctl enable ssh
sudo systemctl start ssh

Теперь я подготовлю директорию, в которую пользователи SFTP будут складировать свои файлы:

sudo mkdir -p /data/store1

Создадим группу для пользователей sftp:

sudo addgroup sftp

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

sudo chown root:root /data/store1
sudo chmod 755 /data/store1

Также я создам директорию, куда все пользователи группы sftp смогут загружать файлы:

sudo mkdir /data/store1/upload
sudo chown root:sftp /data/store1/upload
sudo chmod 770 /data/store1/upload

Теперь я добавлю нового пользователя и укажу пароль для него:

sudo useradd -m user1 -g sftp
sudo passwd user1

Один из заключительных шагов – это редактирования конфигурационного файла ssh:

sudo nano /etc/ssh/sshd_config

В файл нужно добавить вот такую конфигурацию:

Match group sftp
ChrootDirectory /data/store1
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp

Этот кусок конфигурационного файла будет таргетировать всех пользователей группы sftp в директорию /data/store1 с использованием chroot, т.е. пользователи не смогут попасть в директории по иерархии выше. Им будет видна и доступна только директория /data/store1 и её поддиректории.

После завершения редактирования конфигурационного файла ssh необходимо перезапустить службу:

sudo systemctl restart ssh

Создание дополнительных пользователей

Если вам нужен еще один пользователь для работы с SFTP сервером, то выполните следующие действия:

1. Создайте нового пользователя:

sudo useradd -m user2 -g sftp

2. Укажите пароль для пользователя:

sudo passwd user2

Теперь вы можете проверить подключение под новым пользователем.

Проверка подключения

Вариантов проверки подключения много. Для операционной системы Windows я предпочитаю WinSCP:

В случае правильной настройки SFTP сервера вы должны увидеть содержимое корневой директории, но у вас не будет возможности выйти на уровень выше:

При работе в Linux окружении можно использовать встроенный файловый менеджер (для систем с GUI). Например, для Linux Mint это Nemo.

Здесь аналогично – в случае правильной настройки SFTP сервера вы должны увидеть содержимое корневой директории, но у вас не будет возможности выйти на уровень выше:

Настройка SFTP сервера и проверка подключения к нему завершены.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *