Ich musste nur einen Benutzer einrichten, der sich über ssh und ssh bei einem anderen Server anmelden konnte (der nicht direkt mit der Außenwelt verbunden ist). Die Links von cstamas und ericmayo waren ein guter Anfang.
Grundsätzlich habe ich Folgendes zu / etc / ssh / sshd_config hinzugefügt:
Stimmt mit Benutzer myuser überein
ChrootDirectory / chroot / myuser
Von da an musste ich nur noch die Chroot-Umgebung unter / chroot / myuser erstellen. Ich kopierte / bin / bash und / usr / bin / ssh und die gemeinsam genutzten Bibliotheken, die sie benötigten (ldd zeigt diese an). Für eine größere Umgebung wäre es wahrscheinlich sinnvoll, statisch verknüpfte Versionen der benötigten ausführbaren Dateien zu kompilieren.
Bash hat sofort funktioniert, damit ssh funktioniert, musste ich auch das .ssh-Verzeichnis erstellen, / etc / passwd, /etc/nsswitch.conf und / lib / libnss_ * kopieren und / dev / null, / dev / tty und erstellen / dev / urandom über mknod.
Soweit ich weiß, erlauben neue Versionen von OpenSSH nur Chroot für SFTP-Verbindungen. Ich habe es versucht und es funktioniert. Für SSH ist die verfügbare Lösung jedoch der chrootssh-Patch. Ich durchsuche die SourceForge-Site und es gibt keine Dateien, daher denke ich, dass diese eingestellt sind.
Für Debian Etch gibt es hier einige Dateien: http://debian.home-dn.net/etch/ssh/
Hier gibt es andere Lösungen: http://www.debian.org/doc/manuals/securing-debian-howto/ap-chroot-ssh-env.de.html , einschließlich chrootssh.
quelle