Verständnisfrage: SFTP und Usershell

terminal

New Member
Hallo,

ich habe mir zuhause einen Debian Server aufgesetzt und spiele mit proftpd rum. Habe den Usern, die einen Account haben die Shell weggenommen, also auf /bin/false gesetzt, sie sollen ja schließlich nur FTP benutzen und nicht auf die Idee kommen sich per SSH anzumelden. Jetzt habe ich mit Hilfe dieser Anleitung einen verschlüsselten Zugang zum FTP Server eingerichtet. Dies funktioniert aber nur wenn ich den Usern per /bin/bash ihre Shell wieder zurück gebe. Meine Frage: Was hat es technisch damit auf sich und wie könnte ich den Usern trotzdem verbieten sich per SSH einzuloggen (Gruppe für SSH einrichten?)?

Vielen Dank und beste Grüße,
Terminal
 
Ich habe gute Erfahrungen hiermit gemacht: MySecureShell - Index

• Chroot für das Home-Verzeichnis
• kein SSH Zugang über eine Shell
• unkomplizierte Installation und Konfiguration
• FTP fällt als Dienst komplett weg (potenzielle Schwachstelle)
• durch SSH verschlüsselte Transfers

Die SFTP Transfers mit passendem Klienten sind zuverlässig und fix, ich komme auf 3.5 MByte/s.
 
Danke für die Antworten, dev, schaue ich mir mal an.

Wie gesagt geht es mir ja um eine Verständnisfrage, daher spiegelt der Fehler in der Überschrift auch meine Verwirrung wieder. Denn nach der Einrichtung von FTPS mit Hilfe der Anleitung funktioniert FTPS nicht, dafür aber SFTP...? Wenn ich das richtig verstehe, würde das zumindest erklären warum die User eine Shell brauchen um sich anzumelden (SSH). Aber verstehen kann ich das nicht, einer von Euch?
Wenn ich versuche mich per FTPS anzumelden sagt mir Cyberduck: Unexpected null reply received". Grundsätzlich sollte FTPS doch gehen, ohne das die User eine Shell haben, oder?

Also vielen Dank für die Antworten, trotzdem würde ich gerne verstehen was da nicht stimmt.

Beste Grüße,
Terminal
 
Entscheide dich doch erstmal ob du FTPS oder SFTP haben willst.
Grundsätzlich sollte FTPS doch gehen, ohne das die User eine Shell haben, oder?
FTPS geht sogar ohne das du den Usern einen Linux/Unix Account einrichtest :)
Bei den neueren Versionen von openssh kann man auch ohne Zusatzprogramme ein chroot sftp Zugang ohne Shellzugriff einrichten, siehe z.B. OpenSSH SFTP chroot() with ChrootDirectory
 
Also eigentlich wollte ich FTPS installieren, da es ja laut HowTo einige Vorteile bietet:
SSH/SFTP besitzt keine eingebaute chroot-Funktion, so dass ein Workaround mit Programmen wie der scponly shell und scpjailer nötig ist

Selbstgebaute chroots mit scponly und scpjailer sind nur umständlich zu pflegen

chroots benötigen viel Festplattenplatz, wenn man sie für große Userzahlen benötigt

eine Authentifikation über eine SQL-Datenbank oder ein LDAP-System erfordert noch ein zusätzliches PAM-Modul

Ich lass mich aber auch gerne eines Besseren belehren, eure Antworten zielen ja eher auf SFTP. Mein größtes Anliegen ist zu verstehen warum es nicht funktioniert oder was da nicht funktioniert.
Sagen wir so, es soll auch für z.B. meinen kleinen Bruder per FTP-Client einfach möglich sein, Datein herauf und wieder herunter zu laden. Auch wenn es nur intern im Hausnetzwerk ist, sollte es dennoch komplett verschlüsselt sein.
Ich sehe mir mal Eure Tipps an, bin immernoch verwirrt, aber vielen Dank!

Grüße,
Terminal
 
SSH/SFTP besitzt keine eingebaute chroot-Funktion, so dass ein Workaround mit Programmen wie der scponly shell und scpjailer nötig ist
Selbstgebaute chroots mit scponly und scpjailer sind nur umständlich zu pflegen
chroots benötigen viel Festplattenplatz, wenn man sie für große Userzahlen benötigt
Das ist wie oben angedeutet bei den neueren Versionen von openssh hinfallig. Wenn du Debian Etch benutzt mußt du leider selbst kompilieren oder ein innoffizelles Packet benutzten. Authentifizierung per SQL-Datenbank oder LDAP wirst du vermutlich nicht brauchen.
Sagen wir so, es soll auch für z.B. meinen kleinen Bruder per FTP-Client einfach möglich sein, Datein herauf und wieder herunter zu laden.
Nicht jeder ftp Client kann SFTP oder FTPS :(
Mein größtes Anliegen ist zu verstehen warum es nicht funktioniert oder was da nicht funktioniert.
Nur du kannst auf deine Log Dateien zugreifen...
Hast du den mal ein "RequireValidShell off" probiert?
 
Back
Top