.png)
При попытке настроить SFTP-сервер на смонтированном жестком диске и выполнении инструкций из множества руководств при входе в систему всегда возникает ошибка «client_loop: send disconnect: Connection reset».
Я начал с создания группы под названием sftp, а затем назначил пользователя этой группе с его домашним каталогом на жестком диске:
sudo useradd -g sftp -d /media/linux/MyHDD/NAS/USERNAME -s /sbin/nologin USERNAME-nas
sudo passwd USERNAME
Где USERNAME — мое личное имя пользователя
Затем я попытался назначить владельцем всего, что находится выше папки USERNAME, пользователя root, а владельцем папки USERNAME — пользователя:
sudo chown -R root:root /media
sudo chown -R USERNAME:sftp /media/linux/MyHDD/NAS/USERNAME
Отредактировал файл sshd_config, добавив в него:
Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory /media/linux/MyHDD/NAS/USERNAME
ForceCommand internal-sftp
AllowTcpForwarding no
X11 Forwarding no
Не забываем перезапустить службу sshd
sudo systemctl restart sshd
Так как я хотел получить доступ к этой папке на моем компьютере Linux, я установил права доступа 777 для папки media.
sudo chmod -R 777 /media
После всего этого при попытке войти в sftp и ввести пароль я получаю следующее:
sftp -P PORTNO USERNAME@IP
client_loop: send disconnect: Connection reset
Connection closed
Это проблема с разрешениями или, возможно, с правами собственности, я не знаю. Я потратил на это много времени и, похоже, не могу разобраться, поэтому любая помощь будет оценена по достоинству.
решение1
ChrootDirectory /media/linux/MyHDD/NAS/USERNAME
[...]
sudo chown -R USERNAME:sftp /media/linux/MyHDD/NAS/USERNAME
[...]
sudo chmod -R 777 /media
Для функции «ChrootDirectory» требуется, чтобы каталог chroot и его родительские каталоги имелиопределенные права собственности и разрешения:
ChrootDirectory
Указывает путь к каталогу для chroot(2) после аутентификации. При запуске сеанса sshd(8) проверяет, чтовсе компоненты имени пути являются каталогами, принадлежащими пользователю root, которые не доступны для записи никакому другому пользователю или группе. После chroot sshd(8) изменяет рабочий каталог на домашний каталог пользователя. Аргументы ChrootDirectory принимают токены, описанные в разделе ТОКЕНЫ.
При настройке каталога chroot возникают две проблемы:
Во-первых, /media
, /media/linux/MyHDD/NAS/USERNAME
, и все каталоги между ними не могут быть доступны для записи всем или группам. Они должны иметь режим 755, а не 777.
Во-вторых, /media/linux/MyHDD/NAS/USERNAME
сам должен принадлежать root. Каталоги и файлы внутри него могут принадлежать пользователю, но USERNAME
сам каталог должен принадлежать root.