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:
Directory-List
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:
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.
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
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
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: