У меня проблемы с настройкой sftp с помощью ChrootDirectory. Я проделал аналогичную настройку для других дистрибутивов, но по какой-то причине я не могу заставить ее работать на Redhat AMI.
Изменения в моем файле sshd_config:
Subsystem sftp internal-sftp
Match Group ftponly
PasswordAuthentication yes
X11Forwarding no
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
У меня есть дома заинтересованного пользователя в / home / user, принадлежащие root. После соединения с пользователем в группе ftponly я попал в / без разрешений на что-либо и не могу ничего сделать.
sftp bob@localhost
Connecting to localhost...
bob@localhost's password:
sftp> pwd
Remote working directory: /
Я могу нормально подключаться к пользователям, не входящим в группу ftponly.
openssh версии 5.3
Я экспериментировал с разными разрешениями, а также с тем, чтобы пользователи владели собственным домашним каталогом (выдает ошибку Запись: сбой: ошибка канала), и до сих пор ничего не работало.
Я уверен, что это ошибка разрешений или что-то столь же тривиальное, но сейчас мои глаза начинают тускнеть, и любая помощь будет принята с благодарностью.
РЕДАКТИРОВАТЬ:
Джеймс и Мэдхаттер, спасибо за разъяснения. Меня смутило, что chroot меня в / ... просто не продумал как следует. Я добавил соответствующие каталоги и разрешения, чтобы получить доступ для чтения. Еще одна ключевая часть заключалась в предоставлении доступа для записи в chrooted-дома:
setsebool -P ssh_chroot_rw_homedirs on
чтобы получить доступ для записи. Я думаю, что теперь все готово. Спасибо за помощь.
ChrootDirectory %h
изменит домашний каталог пользователя на /. Я могу ошибаться, но причина того, что вы ничего не можете сделать, заключается в том, что необходимые файлы поддержки не существуют в chroot jail. Быстрый поиск configure ssh chroot
приводит меня на эту страницу http://www.techrepublic.com/blog/opensource/chroot-users-with-openssh-an-easier-way-to-confine-users-to-their-home-directories/229 где вы делаете необходимые файлы доступными.