Ich möchte für die meisten (nicht alle) Benutzer, die sich über SSH anmelden, ein Chroot-Jail einrichten. Ich habe gehört, dass dies mit den neuesten Versionen von OpenSSH möglich ist, konnte aber nicht herausfinden, wie das geht. In den Anleitungen ist immer vom Patchen einer alten Version die Rede, und der Patch ist nicht mehr verfügbar.
Ich verwende Debian Etch.
Antwort1
Ich verwende zu diesem Zweck RSSH.
Sie haben Recht, es gibt eine neue Möglichkeit, dies zu tun, und es handelt sich dabei um eine integrierte Funktion der aktuellen SSH-Versionen.
Hier ist ein Artikel überUntödlich.
Antwort2
Ich musste nur einen Benutzer einrichten, der sich per SSH anmelden kann, und der sich per SSH bei einem anderen Server anmelden kann (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:
Übereinstimmung mit Benutzer myuser Chroot-Verzeichnis /chroot/meinBenutzer
Von da an musste ich nur noch die Chroot-Umgebung unter /chroot/myuser erstellen. Ich habe /bin/bash und /usr/bin/ssh und die benötigten gemeinsam genutzten Bibliotheken kopiert (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 funktionierte sofort. Damit SSH funktionierte, musste ich auch das .ssh-Verzeichnis erstellen, /etc/passwd, /etc/nsswitch.conf und /lib/libnss_* kopieren und /dev/null, /dev/tty und /dev/urandom über mknod erstellen.
Antwort3
mkdir /chroot
mkdir -p /chroot/home/<user_name>
mkdir /chroot/home/<user-name>/bin
cp -pr /bin/bash /chroot/home/<user_name>/bin/.
cp -pr /bin/ls /chroot/home/<user_name>/bin/.
cp -pr /lib64 /chroot/home/<user_name>/.
Sie müssen die Datei /etc/sshd_config bearbeiten und hinzufügen
ChrootDirectory /chroot/%h
Und starten Sie den SSHD-Daemon neu.
Alles in allem bin ich ehrlich gesagt der Meinung, dass SFTP die bessere Option ist.
Außerdem habe ich diese URL gefunden, falls sie hilfreich ist.
Antwort4
Soweit ich weiß, erlauben neue Versionen von OpenSSH Chroot nur für SFTP-Verbindungen. Ich habe es versucht und es funktioniert. Für SSH ist jedoch der Chrootssh-Patch die verfügbare Lösung. Ich habe die SourceForge-Site durchsucht und es gibt keine Dateien, daher denke ich, dass es nicht mehr verfügbar ist.
Für Debian Etch gibt es hier einige Dateien:http://debian.home-dn.net/etch/ssh/
Es gibt hier noch andere Lösungen:http://www.debian.org/doc/manuals/securing-debian-howto/ap-chroot-ssh-env.en.html, einschließlich chrootssh.