Wie kann ich den OpenSSH SFTP Server unter Linux einrichten?
Ich möchte sftp-Server so konfigurieren, dass ein Verzeichnis freigegeben wird, weiß aber nicht, wie ich /etc/ssh/sshd_config
ändern soll.
Meine Anforderungen sind: -
1) Login darf keine Zertifikate verwenden, nur Passwort (dh Autorisierung verwendet passwort methode)
2) Ich möchte mich mit user: ftp, password: foo und share directory /home/ftp anmelden.
3) ich habe eine Anwendung, die von Zeit zu Zeit braucht, um das herunterladen einer Datei vom server, ich brauche nicht, um sich mit einem vollen Betrieb Client.
Bisher habe ich die folgenden Zeilen zu /etc/ssh/sshd_config hinzugefügt:
Protocol 2
Subsystem sftp /usr/libexec/sftp-server
Match User ftp
ForceCommand internal-sftp
ChrootDirectory /home/ftp
Alles andere wird kommentiert.
/home/ftp
ist derzeit ein leeres Verzeichnis.
Der Zugriff funktioniert, wenn ich versuche, eine Datei mit Root-Anmeldeinformationen herunterzuladen, aber nicht, wenn ich FTP-Anmeldeinformationen verwende. Muss ich eine login-shell? Muss ich/home / ftp irgendwie füllen?
BEARBEITEN: Dies ist mein SSHD-Protokoll:
subsystem request for sftp
debug1: subsystem: exec() internal-sftp
debug1: Forced command (config) 'internal-sftp '
debug2: fd 3 setting TCP_NODELAY
debug2: fd 9 setting O_NONBLOCK
debug2: fd 8 setting O_NONBLOCK
debug1: Received SIGCHLD.
debug1: session_by_pid: pid 17613
debug1: session_exit_message: session 0 channel 0 pid 17613
debug2: channel 0: request exit-status confirm 0
debug1: session_exit_message: release channel 0
debug2: channel 0: write failed
debug2: channel 0: close_write
debug2: channel 0: send eow
debug2: channel 0: output open -> closed
debug2: channel 0: read<=0 rfd 9 len 0
debug2: channel 0: read failed
debug2: channel 0: close_read
debug2: channel 0: input open -> drain
debug2: channel 0: ibuf empty
debug2: channel 0: send eof
debug2: channel 0: input drain -> closed
debug2: channel 0: send close
debug2: notify_done: reading
debug3: channel 0: will not send data after close
debug3: channel 0: will not send data after close
User child is on pid 17611
debug3: mm_request_receive entering
* Der client hängt hier (bis ein timeout Auftritt) *
Bitte beachten Sie erneut, dass die Datei korrekt heruntergeladen wird, wenn ich mich als "root" anmelde. Es wird auch korrekt heruntergeladen, wenn ich die letzten drei Zeilen der Konfigurationsdatei auskommentiere (dh die Zeile Match
und die folgenden 2).
1 answers
Sie müssen sicherstellen, dass /home/ftp
im Besitz von root
ist und diese Gruppe und andere keine Schreibberechtigungen haben, z. B. chmod 0755
. Sie müssen Unterverzeichnisse für ftp
hinzufügen, um Dateien hinzuzufügen.
Sie benötigen auch das Subsystem internal-sftp
, andernfalls müssen Sie eine geeignete Umgebung in /home/ftp
bereitstellen:
Subsystem sftp internal-sftp
Um alle Nicht-Passwort-Arten der Anmeldung zu verbieten, geben Sie
ChallengeResponseAuthentication no
GSSAPIAuthentication no
PubkeyAuthentication no
Diese sind standardmäßig aktiviert.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-09-30 16:32:47