Ich möchte den SFTP-Server so konfigurieren, dass er ein Verzeichnis freigibt, weiß aber nicht, wie ich ihn ändern soll /etc/ssh/sshd_config
.
Meine Anforderungen sind:
1) Bei der Anmeldung werden keine Zertifikate verwendet, sondern nur das Passwort (dh die Autorisierung verwendet die Passwortmethode).
2) Ich möchte mich mit Benutzer: ftp, Passwort: foo anmelden und Verzeichnis / home / ftp freigeben.
3) Ich habe eine Anwendung, die von Zeit zu Zeit eine Datei vom Server herunterladen muss. Ich muss mich nicht mit einem voll funktionsfähigen Client anmelden.
Bisher habe ich / etc / ssh / sshd_config die folgenden Zeilen 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 einrichten? Muss ich / home / ftp irgendwie füllen?
EDIT: 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 eine Zeitüberschreitung 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 Match
Zeile und die folgenden 2).
ssh
oder PuTTY unter Windows? Welche Version von OpenSSH verwenden Sie?