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

12 set 2022 3 min di lettura
Как создать пользователя только для SFTP в Debian 11
Indice dei contenuti

Введение

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

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

Предпосылки

Если вы хотите установить и создать пользователя только для SFTP на удаленном сервере, продолжайте чтение, в противном случае пропустите первый абзац «Подключение к серверу» и прочитайте следующий.

Подключение к серверу

Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется ваше имя пользователя и пароль для аутентификации. Чтобы подключиться к серверу как root, введите следующую команду:

ssh root@IP_DEL_SERVER

Далее вам нужно будет ввести пароль пользователя root.

Если вы не используете пользователя root, вы можете войти в систему с другим именем пользователя, используя ту же команду, а затем изменить root на свое имя пользователя:

ssh nome_utente@IP_DEL_SERVER

Затем вам будет предложено ввести пароль пользователя.

Стандартный порт для подключения по ssh — 22, если ваш сервер использует другой порт, вам нужно будет указать его с помощью параметра -p, затем введите следующую команду:

ssh nome_utente@IP_DEL_SERVER -p PORTA

Создать нового пользователя

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

sudo adduser --shell /bin/false sftpuser

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

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

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

sudo mkdir -p /var/sftp/files

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

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

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

sudo chown sftpuser:sftpuser /var/sftp/files

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

Настройте 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, чтобы изменения вступили в силу.

sudo systemctl restart ssh

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

Подключиться к SFTP

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

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

sftp [email protected]
[email protected]'s password:
 sftp>

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

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

ssh [email protected]
[email protected]'s password:
 This service allows sftp connections only.
 Connection to sftp.noviello.it closed.

Вывод

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

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.