sftp + chroot

foexle

foexle

Kaiser
Hi Leute,

ich komme bei einem Problem nicht mehr weiter.

Ich würde gerne für einen System-User einen only sftp-zugang realisieren.
Natürlich soll dieser user auch eingeschlossen werden, damit er nicht im System herum wandern kann.

openssh-server bietet ja seit der Version 5.1 die ChrootDirectory option an.
Also habe ich das ganze laut den Spezifikationen aufgesetzt:
Code:
#sshd_config

Subsystem sftp internal-sftp
Match group sftp-only
        ChrootDirectory /home/%u
        X11Forwarding no
        AllowTcpForwarding no
        ForceCommand internat-sftp
Directory-List
Code:
~> ls -la /home/

drwxr-xr-x  5 root    root      4096 2011-04-04 13:56 .
drwxr-xr-x 23 root    root      4096 2011-04-04 14:07 ..
drwxr-xr-x  3 root    sftp-only 4096 2011-04-04 14:02 test

Laut Chrootspezifikation muss die Dir also owner root haben und alle Parent Dir's auch. Zusätzlich dürfen die dirs nicht writable für group and other sein, was auch zutrifft.

Das verhalten ist nun folgendes:
Code:
~> sftp  test@localhost
test@localhost's password: 
Connection closed

Natürlich kann man für localhost auch die IP des Servers eingeben und von einem externen Client das probieren, führt allerdings zum gleichen Ergebnis.
Die Verbindung wird direkt beendet. Eine Fehlermeldung oder irgendein Hinweis warum dies passiert gibt es in den Logs nicht.
Code:
# auth.log
Apr  4 14:32:24 testing sshd[16831]: Accepted password for test from localhost port 44964 ssh2
Apr  4 14:32:24 testing sshd[16831]: pam_unix(sshd:session): session opened for user localhost by (uid=0)
Apr  4 14:32:25 testing sshd[16925]: subsystem request for sftp
Apr  4 14:32:25 testing sshd[16831]: pam_unix(sshd:session): session closed for user test

Hätte wer eine Idee ?


Edit:
ForceCommand internat-sftp das muss weg.
Denn sonst versucht ssh noch eine erneute Subshell auf zumachen und die bestehende Session wird dabei scheinbar gekappt.


Also bei mir funktioniert es nun allerdings ACHTUNG:
Der User mit dem man einloggt, kann nicht direkt in das chroot rein schreiben. Hier: /home/test/ da dieses root gehört und write für group und other nicht gesetzt sind.
Ich habe einfach eine Subdir "Upload" erstellt mit den 755-User Rechten und funktioniert.

Hoffe es hilft.
Greetz
 
Zuletzt bearbeitet:

Ähnliche Themen

find Ausgabe in "Anführungszeichen"

Permissions auf Ordner

Autostart von X mit google-chrome durch systemd

sftp mit vsftpd und mysql

Samba 4 Gast Zugang unter Ubuntu funktioniert nicht

Zurück
Oben