Как ограничить доступ к серверу только по SFTP
Бывает, нужно ограничить доступ к компьютеру только по SFTP, не давая пользователям возможности залогиниться в shell. Для этого нужно сделать 2 вещи:
1. Добавить sftp-server в список разрешенных шеллов:
Найдите sftp-server на вашем сервере (для Debian/Ubuntu это будет /usr/lib/sftp-server, для RHEL это /usr/libexec/openssh/sftp-server). Добавьте нужный вам полный путь к нему отдельной строчкой в /etc/shells
# echo '/path/to/sftp-server' >> /etc/shellsгде /path/to/sftp-server - полный путь к вашему sftp-server
2. Поставить sftp-server шеллом нужного пользователя
Либо отредактируйте /etc/passwd и поставьте опять же полный путь к sftp-server в пользовательской записи вместо /bin/bash, либо воспользуйтесь командой usermod, i.e.
# usermod -s /path/to/sftp-server userid, где /path/to/sftp-server - полный путь к SFTP на вашей системе, а userid - имя пользователя
Обратите внимание, что при таком методе нельзя будет использовать scp, только sftp! Если вы хотите, чтобы можно было работать и с scp, попробуйте воспользоваться пакетом scponly (присутствует в Debian/Ubuntu)
Теперь осталось только узнать, как заставить пользователей SFTP ограничить также, как это делает, к примеру, rbash :-)
- 3571 просмотр


Помещать пользователя в свой chroot после логина для SFTP нужд?
для chroot нужен модифицированный ssh. а самосборкой ssh, модифицированным в непонятных местах, особо заниматься не хочется.
Отправить комментарий