.png)
Beim Versuch, einen SFTP-Server auf einer gemounteten Festplatte einzurichten, und nachdem ich die Anweisungen aus einer Reihe von Tutorials befolgt habe, erhalte ich beim Anmelden immer die Meldung „client_loop: send disconnect: Connection reset“.
Ich begann mit der Erstellung einer Gruppe namens „sftp“ und wies dieser Gruppe dann einen Benutzer mit seinem Home-Verzeichnis auf der Festplatte zu:
sudo useradd -g sftp -d /media/linux/MyHDD/NAS/USERNAME -s /sbin/nologin USERNAME-nas
sudo passwd USERNAME
Wobei USERNAME mein persönlicher Benutzername ist
Ich habe dann versucht, den Besitz von allem oberhalb des Ordners USERNAME auf root und den Besitz des Ordners USERNAME auf den Benutzer festzulegen:
sudo chown -R root:root /media
sudo chown -R USERNAME:sftp /media/linux/MyHDD/NAS/USERNAME
Die Datei sshd_config wurde bearbeitet und enthält nun Folgendes:
Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory /media/linux/MyHDD/NAS/USERNAME
ForceCommand internal-sftp
AllowTcpForwarding no
X11 Forwarding no
Nicht vergessen, den SSHD-Dienst neu zu starten
sudo systemctl restart sshd
Da ich auf diesem Ordner auf meinem Linux-Computer zugreifen wollte, habe ich die Berechtigungen für den Medienordner auf 777 gesetzt
sudo chmod -R 777 /media
Nachdem ich dies alles getan habe, werde ich beim Versuch, mich bei SFTP anzumelden und das Passwort einzugeben, mit folgender Meldung begrüßt:
sftp -P PORTNO USERNAME@IP
client_loop: send disconnect: Connection reset
Connection closed
Ist das ein Berechtigungsproblem oder vielleicht ein Eigentumsproblem, weiß ich nicht. Ich habe lange daran gearbeitet und kann es einfach nicht herausfinden, daher wäre ich für jede Hilfe dankbar.
Antwort1
ChrootDirectory /media/linux/MyHDD/NAS/USERNAME
[...]
sudo chown -R USERNAME:sftp /media/linux/MyHDD/NAS/USERNAME
[...]
sudo chmod -R 777 /media
Die Funktion "ChrootDirectory" erfordert, dass das Chroot-Verzeichnis und seine übergeordneten Verzeichnissebestimmte Eigentumsrechte und Berechtigungen:
ChrootVerzeichnis
Gibt den Pfadnamen eines Verzeichnisses an, in das chroot(2) nach der Authentifizierung wechseln soll. Beim Starten der Sitzung prüft sshd(8), obAlle Komponenten des Pfadnamens sind root-eigene Verzeichnisse, die von keinem anderen Benutzer oder keiner anderen Gruppe beschreibbar sind.. Nach dem Chroot ändert sshd(8) das Arbeitsverzeichnis in das Home-Verzeichnis des Benutzers. Argumente für ChrootDirectory akzeptieren die im Abschnitt TOKENS beschriebenen Token.
Bei der Einrichtung Ihres Chroot-Verzeichnisses gibt es zwei Probleme:
Erstens dürfen , /media
, /media/linux/MyHDD/NAS/USERNAME
und alle Verzeichnisse dazwischen nicht allgemein oder gruppenbeschreibbar sein. Sie müssen den Modus 755 und nicht 777 haben.
Zweitens /media/linux/MyHDD/NAS/USERNAME
muss es selbst root gehören. Die Verzeichnisse und Dateien darin können dem Benutzer gehören, aber das USERNAME
Verzeichnis selbst muss root gehören.