Musiałem tylko skonfigurować jednego użytkownika, który będzie mógł zalogować się za pośrednictwem ssh i ssh na inny serwer (który nie jest bezpośrednio połączony ze światem zewnętrznym). Powiązania cstamas i ericmayo były dobrym początkiem.
Zasadniczo dodałem następujące pliki do / etc / ssh / sshd_config:
Dopasuj mój użytkownik
ChrootDirectory / chroot / myuser
Odtąd musiałem po prostu stworzyć środowisko chroot poniżej / chroot / myuser. Skopiowałem / bin / bash i / usr / bin / ssh i potrzebne biblioteki współdzielone (ldd je wyświetli). W przypadku większego środowiska prawdopodobnie sensowne byłoby skompilowanie statycznie połączonych wersji potrzebnych plików wykonywalnych.
Bash działał od razu, aby ssh działał, musiałem również utworzyć katalog .ssh, skopiować / etc / passwd, /etc/nsswitch.conf i / lib / libnss_ * i utworzyć / dev / null, / dev / tty i / dev / urandom przez mknod.
O ile wiem, nowe wersje OpenSSH zezwalają tylko na chroot dla połączeń SFTP. Próbowałem i to działa. Ale dla SSH rozwiązaniem jest łatka chrootssh. Przeglądam stronę SourceForge i nie ma żadnych plików, więc myślę, że nie jest już dostępna.
W przypadku Debian Etch jest tu kilka plików: http://debian.home-dn.net/etch/ssh/
Istnieją inne rozwiązania tutaj: http://www.debian.org/doc/manuals/securing-debian-howto/ap-chroot-ssh-env.en.html , w tym chrootssh.
źródło