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

vidman

unregistriert
Thread Starter
Mitglied seit
24.07.2018
Beiträge
499
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.
 

vidman

unregistriert
Thread Starter
Mitglied seit
24.07.2018
Beiträge
499
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.
 

Olivetti

Aktives Mitglied
Mitglied seit
09.12.2005
Beiträge
11.697
das key und pem-file liegen richtig und sind vom vsftpd erreichbar?
 

oneOeight

Aktives Mitglied
Mitglied seit
23.11.2004
Beiträge
54.765
was haben denn die user als shell in der /etc/passwd gesetzt?
nologin oder no shell?
 

Olivetti

Aktives Mitglied
Mitglied seit
09.12.2005
Beiträge
11.697
stimmt. /bin/false muss auch noch in /etc/shells.
 

vidman

unregistriert
Thread Starter
Mitglied seit
24.07.2018
Beiträge
499
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.
 

oneOeight

Aktives Mitglied
Mitglied seit
23.11.2004
Beiträge
54.765
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 …
 

Hausbesetzer

Aktives Mitglied
Mitglied seit
10.09.2008
Beiträge
10.802
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
 

vidman

unregistriert
Thread Starter
Mitglied seit
24.07.2018
Beiträge
499
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.
 

vidman

unregistriert
Thread Starter
Mitglied seit
24.07.2018
Beiträge
499
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.
 

vidman

unregistriert
Thread Starter
Mitglied seit
24.07.2018
Beiträge
499
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.
 

vidman

unregistriert
Thread Starter
Mitglied seit
24.07.2018
Beiträge
499
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?