Raspberry Pi - Wie ftps/sftp chroot für User ohne Shell?

V

vidman

unregistriert
Thread Starter
Dabei seit
24.07.2018
Beiträge
499
Reaktionspunkte
250
Hallo,

versuche gerade auf einem Raspberry Pi 3+ einen ftps/sftp-Server einzurichten auf dem sich einzig ein User ohne Shell einloggen soll. Zudem soll der User aus einem vorgegebenen Ordner nicht rauskönnen.

Probiert habe ich vsftpd: ein User mit Shell kann sich via ftps einwählen, wenn ich aber einen virtuellen User anlege kann der sich nur via ftp aber nicht via ftps einwählen. Cyberduck meldet ein Problem 48.

Die SSH-Lösung mit chroot wäre eher der letzte Schritt, daher suche ich nach einer einfachen Lösung/Anleitung/Empfehlung.
 
Hallo,

versuche gerade auf einem Raspberry Pi 3+ einen ftps/sftp-Server einzurichten auf dem sich einzig ein User ohne Shell einloggen soll.
FTPS und SFTP sind aber zwei grundverschiendene Sachen.
 
  • Gefällt mir
Reaktionen: dg2rbf
Wenn man es nicht zu ausführlich formulieren will und sich dann nicht die Zeit dafür nimmt, kommen halt sprachliche Ungenauigkeiten heraus. Sorry.

Mir ist klar dass SFTP und FTPS unterschiedliche Sachen sind. Hätte gerne eine FTPS-Lösung damit ich nur diese via Internet nutzen kann, damit ich den SSH-Zugang als Admin lokal nutzen kann.
 
das key und pem-file liegen richtig und sind vom vsftpd erreichbar?
 
was haben denn die user als shell in der /etc/passwd gesetzt?
nologin oder no shell?
 
stimmt. /bin/false muss auch noch in /etc/shells.
 
  • Gefällt mir
Reaktionen: vidman
Habe es mit Virtual User bei vsftpd (nach dieser Anleitung) probiert die gar nicht auf Linux-Ebene angelegt werden. Ich kann mich auch via ftp einloggen, bis ich eben FTPS via conf aktiviere. Auch da kann ich mich einloggen und das Zertifikat wird übertragen bis Cyberduck einen Fehler meldet - Downloaded error: Unsupported record version Unknown-48.48. Eine Google-Suche hat da eher einen Fehler auf Seite von vsftpd gegeben.

Die Idee ist einfach verführerisch dass ich nur für einen User einen verschlüsselten Zugang für Transfers (mit sehr eingeschränktem Zugriff) einrichten kann, den es sonst im System gar nicht gibt.

Sollte es da weitere Vorschläge geben, wie so etwas realisiert werden kann, würde ich mich freuen. Ansonsten wird einfach ein SFTP-Zugang mit chroot eingerichtet.
 
der fehler muss doch irgendwas mit dem zertifikat zu tun haben, wird ja ein selbst-signiertes sein.
musst du wohl bei den ftp benutzer mal importieren, damit es beim check nicht durch fällt …
 
  • Gefällt mir
Reaktionen: vidman
Die Idee ist einfach verführerisch dass ich nur für einen User einen verschlüsselten Zugang für Transfers (mit sehr eingeschränktem Zugriff) einrichten kann, den es sonst im System gar nicht gibt.
Wozu denn das ganze Theater?
Leg einen User als rssh oder scponly an und gut ist - Datentransfer, aber keine Shell dazu noch keine SFTP Kacke
 
der fehler muss doch irgendwas mit dem zertifikat zu tun haben, wird ja ein selbst-signiertes sein.
musst du wohl bei den ftp benutzer mal importieren, damit es beim check nicht durch fällt …
Zertifikat neu erzeugt, wird mit FileZilla auch korrekt angezeigt und danach kommt der Fehler. Vermute irgendein Zugriffsrecht das nicht passt. Werde es die nächsten Tage mal genauer anschauen. Wenn ich den Fehler gefunden habe, poste ich selbstverständlich die Lösung hier.
Wozu denn das ganze Theater?
Leg einen User als rssh oder scponly an und gut ist - Datentransfer, aber keine Shell dazu noch keine SFTP Kacke
Jo mei, manchmal is mir a bissl fad und dann probier ich etwas was ich schon länger machen wollte. Btw, SFTP kann ich (teilweise), ich wollte FTP over TLS mit einem virtuellen User versuchen.
 
Ok, da scheint bei einem der Versuche die vsftpd.cnf neu aufzusetzen ein "guest_enable=YES" verloren gegangen zu sein. Um die virtuellen User zu aktivieren, muss diese Option auf YES und nicht NO gesetzt sein. Läuft jetzt wie es soll und der Nutzer ist der einzige der sich einloggen kann.
 
Entscheidungen sind auch nicht so Dein Ding, oder? :hehehe:
Jetzt wo es läuft ist es die einfache Lösung die ich gesucht habe, denn mit einfach meine ich keine einfach zu erstellende sondern eine einfach zu wartende Lösung. ;)

Sollten weitere ftps-only User gewollt sein, sind die sehr schnell hinzugefügt und um ssh/sftp brauche ich mir keine Sorgen machen wenn ich nur den ftps-port forwarde.
 
Jetzt wo es läuft ist es die einfache Lösung die ich gesucht habe, denn mit einfach meine ich keine einfach zu erstellende sondern eine einfach zu wartende Lösung. ;)
Also am einfachsten zu warten ist tatsächlich die ssh Lösung
 
  • Gefällt mir
Reaktionen: vidman
Also am einfachsten zu warten ist tatsächlich die ssh Lösung
Ok, ok, ich gebe es zu, sftp ist die einfachere Lösung. ;)

Habe den Raspberry Pi auf SFTP umgestellt, mit "AllowUsers" nur 2 Usern den Zugang erlaubt, dazu "Compression no" und es läuft recht gut. Gibt es noch etwas was man beachten sollte?
 
Zurück
Oben Unten