Проблема с настройкой sftp и chroot

Автор Nordwest, 02 декабря 2011, 12:47:00

« назад - далее »

0 Пользователи и 2 гостей просматривают эту тему.

Nordwest

Нужно запереть пользователя в домашней директории с доступом по sftp. Делаю по инструкции, одной из таких: http://www.debian-administration.org/articles/590
В sshd_config:

...
Subsystem sftp /usr/lib/openssh/sftp-server
...
Match Group sftpusers
ChrootDirectory /home/sftp/%u
AllowTCPForwarding no
X11Forwarding no
ForceCommand /usr/lib/openssh/sftp-server

Т.е. этих пользователей я хочу держать в соответствующий их имени папках в директории /home/sftp.
Делаю следующее:

chown -R root.root /home/sftp/user
usermod -d / user
adduser user sftpusers

При подключении выдает ошибку:
ЦитироватьWrite failed: Broken pipe
Couldn't read packet: Connection reset by peer
В  логе auth следующее:
Цитировать
fatal: bad ownership or modes for chroot directory "/home/sftp/user"
Владелец у папки понятно кто, доступ 755.

Если в sshd_conf прописать такую строчку:
ChrootDirectory %h
То соединиться удается, но пользователь оказывается в корне / и всё там видит. Т.е. не так.

Если теперь сделать usermod -d /home/sftp user, то пишет "Connection closed" и в логе следующее:
Цитировать
pam_unix(sshd:session): session opened for user user by (uid=0)
subsystem request for sftp
pam_unix(sshd:session): session closed for user user
Т.е. открывается и закрывается. Ещё кучу вариантов перепробовал с тем же результатом. Как правильно сделать то?

dolphin8383

chown -R root.root /home/sftp/user
usermod -d / user
adduser user sftpusers


Если я понял по тому что ты написал, ты ставишь права на эту папку root и тут же пытаешься им дать их по 755, туда попадет только root.
создай например группу chaynik а потом уже давай такую команду chown -R chaynik.chaynik /home/sftp/user

ihammers

Владельцем домашней директории должен быть root, а группа sftpusers. По правам можно: 0750/drwxr-x---

Рабочий пример /etc/ssh/sshd_config:

Subsystem sftp internal-sftp
Match group sftponly
        ChrootDirectory /home/.hosting/%u
        X11Forwarding no
        AllowTcpForwarding no
        ForceCommand internal-sftp
Debian GNU/Linux Bookworm, LXQt/OpenBox: AMD Ryzen 5 5600G / 64Gb RAM
_______________________________
Debian GNU/Linux Bookworm, без графики: AMD Phenon X4 / 16Gb RAM
_______________________________
Debian GNU/Linux Bookworm, LXQt/OpenBox: Acer Aspire One 722 AMD C60 / 8Gb RAM / ATI HD6290

tempter

#3
сделал всё по приведённому выше конфигу, к сожалению сервер авторизует и сразу же сбрасывает соединение (((
в чем может быть проблема?
в логах авторизации:
Apr 9 09:59:20 s9ffd17aa sshd[10836]: Accepted password for webadmin from ***.***.***.** port 62118 ssh2
Apr 9 09:59:20 s9ffd17aa sshd[10836]: pam_unix(sshd:session): session opened for user webadmin by (uid=0)
Apr 9 09:59:20 s9ffd17aa sshd[10836]: pam_unix(sshd:session): session closed for user webadmin


Сообщение объединено: 09 Апрель 2015, 20:38:16

если через файлзиллу по sftp то вот так:

Статус: Определение IP-адреса для domain.ru
Статус: Соединяюсь с **.**.***.***:21...
Статус: Не удалось установить соединение с "ECONNREFUSED - Connection refused by server".
Ошибка: Невозможно подключиться к серверу


Сообщение объединено: 09 апреля 2015, 21:03:11

забыл добавить что chroot не установлен

ihammers

Конфигурационные файлы и информацию о пользователе (группа, права на директорию) под теги.
Debian GNU/Linux Bookworm, LXQt/OpenBox: AMD Ryzen 5 5600G / 64Gb RAM
_______________________________
Debian GNU/Linux Bookworm, без графики: AMD Phenon X4 / 16Gb RAM
_______________________________
Debian GNU/Linux Bookworm, LXQt/OpenBox: Acer Aspire One 722 AMD C60 / 8Gb RAM / ATI HD6290