Как создать пользователя только SFTP в Debian 11

Как создать пользователя только SFTP в Debian 11

Как создать пользователя только SFTP в Debian 11

 

SFTP (SSH File Transfer Protocol) — это безопасный файловый протокол, используемый для доступа, управления и передачи файлов через зашифрованный транспортный сеанс SSH. Безопасность прежде всего — это эмпирическое правило для системных администраторов. В некоторых случаях нам нужно разрешить удаленным пользователям доступ к файловой системе в нашей системе, но вы не хотите позволять им получать оболочку. Это позволит вам использовать безопасный канал для предоставления ограниченного доступа к определенным файлам и каталогам.

Это руководство поможет вам настроить доступ только по SFTP (без доступа к оболочке) в системе Debian 11. Он создаст среду chroot в вашей системе, чтобы ограничить пользователя SFTP только определенным каталогом. Кроме того, он разрешит доступ только по SFTP без доступа SSH для пользователя.

Предпосылки

  • Работающая система Debian 11 Bullseye Linux
  • У вас должна быть привилегированная учетная запись sudo с доступом к оболочке

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

Прежде всего, создайте нового пользователя для подключения к sftp-серверу. Следующая команда создаст новую учетную запись с именем sftpuser без доступа к оболочке. Вы можете использовать любое имя по вашему выбору или требованию.

sudo adduser --shell /bin/false sftpuser 

Шаг 2 — Создайте каталог для доступа по SFTP

Вы создали пользователя для sftp. Теперь создайте каталог, который будет настроен как chroot для sftp. В этом примере я создам каталог / var / sftp. Каталог должен иметь корневого владельца, чтобы его можно было настроить как корневой каталог. Итак, мы создадим подкаталог в / var / sftp с правом записи в учетную запись sftp.

Создайте структуру каталогов с помощью следующей команды:

sudo mkdir -p /var/sftp/files 

Затем мы должны установить соответствующие разрешения для каталогов для настройки доступа chroot с правами записи для пользователя. Здесь / var / sftp должен иметь корневого владельца и группу с соответствующими разрешениями. Чтобы установить это разрешение, введите:

sudo chown root:root /var/sftp  sudo chmod 755 /var/sftp 

Теперь измените разрешение для "files"каталога, чтобы разрешить запись для sftpuser. Чтобы установить эти разрешения, введите:

sudo chown sftpuser:sftpuser /var/sftp/files 

Как только sftpuser подключится к серверу, он получит / var / sftp в качестве корневого каталога. Он не может получить доступ к файловой системе за ее пределами. Кроме того, пользователь может читать / записывать файлы только в каталоге «files».

Шаг 3 — Настройте sshd только для SFTP

Затем вам необходимо настроить SSH-сервер, чтобы разрешить sftpuser подключаться к серверу только через sFTP без доступа к оболочке. Чтобы внести необходимые изменения, отредактируйте файл конфигурации SSH.

sudo nano /etc/ssh/sshd_config 

и добавьте следующие настройки в конец файла.

Match User sftpuser
	ForceCommand internal-sftp
	PasswordAuthentication yes
	ChrootDirectory /var/sftp
	PermitTunnel no
	AllowAgentForwarding no
	AllowTcpForwarding no
	X11Forwarding no

Еще раз проверьте правильность всех настроек.Затем сохраните изменения и перезапустите службу SSH, чтобы изменения вступили в силу.

Как создать пользователя только SFTP

sudo systemctl restart ssh 

Все готово, использование только SFTP успешно создано в вашей системе Debian. Теперь попробуйте войти в удаленную систему с учетными данными нового пользователя и проверьте, все ли работает правильно.

Шаг 4 — Подключитесь к SFTP

Можно подключиться к удаленному серверу SFTP с помощью командной строки или графических приложений, таких как Filezilla или WinSCP. В этом руководстве я покажу вам оба способа подключения к SFTP-серверу.

Пользователи Linux могут использовать утилиту командной строки sftp для подключения к удаленным экземплярам sftp.

sftp sftpuser@sftp.infoit.com.ua  sftpuser@sftp.infoit.com.ua's password: sftp>

Пользователи с графическим интерфейсом пользователя или Windows могут использовать графические клиенты sftp. Например, используйте клиент Filezilla для подключения удаленной учетной записи только sftp в удаленной системе.

Как создать пользователя только SFTP в Debian 11

Убедитесь, что нет доступа к оболочке:

Поскольку эта учетная запись настроена для подключения только по SFTP. Таким образом, если какой-либо пользователь попытался подключиться через SSH, он будет отключен сразу после успешной аутентификации. Пользователь получит сообщение ниже:

ssh sftpuser@sftp.infoit.com.ua sftpuser@sftp.infoit.com.ua's password: This service allows sftp connections only. Connection to sftp.infoit.com.ua closed.

Заключение

В этом практическом руководстве вы научились создавать среду chroot jail для пользователей SFTP без доступа оболочки к серверу. Среда Chroot защищает файловую систему, предотвращая доступ пользователей к файлам за пределами определенного каталога. Это руководство создано и протестировано с системой Debian 11 Bullseye, но оно будет работать и в других версиях Debian.

Author: forgero

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

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