почитай про rbash,
собственно техника примерно такая:
в шеле определяется $PATH в директорию куда закинуты симлинки
запрещается изменять $PATH, использовать ./ и / в путях
ну и естествнно не давать запускать vim, sqlplus и пр.
Есть patch для opensshd, позволяющий делать пользователю chroot в заданный каталог. Там при указании пути к домашнему каталогу в /etc/passwd можно задать './' и это будет указанием, куда делать chroot. Не знаю, правда, какая там сейчас версия ssh и пропатчится ли она...
http://chrootssh.sourceforge.net/index.php?node=news
>А может лучше виртуальную машину?
Уж лучше тогда просто повесить отдельный sshd на другом порту, сразу в chroot, без прав root и т.д. А уж если пользователя устроит виртуальная машина, то зачем ему вобще логин на сервер, пусть себе на комп и ставит виртуалку.