Как я могу настроить сервер OpenSSH SFTP в Linux?

Я хочу настроить sftp-сервер для совместного использования каталога, но я не знаю, как изменить /etc/ssh/sshd_config.

Мои требования таковы:

1) Для входа в систему не должны использоваться сертификаты, только пароль (т.е. для авторизации используется метод пароля)

2) Я хочу войти в систему с пользователем: ftp, пароль: foo и поделиться каталогом /home/ftp.

3) У меня есть приложение, которому время от времени нужно загружать файл с сервера, мне не нужно входить в систему с полным рабочим клиент.

До сих пор я добавлял следующие строки в /etc/ssh/sshd_config:

Protocol 2
Subsystem sftp /usr/libexec/sftp-server
Match User ftp
   ForceCommand internal-sftp
   ChrootDirectory /home/ftp

Все остальное прокомментировано.

/home/ftp в данный момент это пустой каталог.

Доступ работает, если я пытаюсь загрузить файл с использованием учетных данных root, но он не работает, если я использую учетные данные ftp. Нужно ли мне устанавливать оболочку входа в систему? Нужно ли мне как-то заполнять /home/ftp?

РЕДАКТИРОВАТЬ: Это мой журнал sshd:

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

* Клиент зависает здесь (до тех пор, пока не наступит тайм-аут) *

Пожалуйста, еще раз обратите внимание, что если я войду в систему как "root", файл загрузится правильно. Он также загружается правильно, если я закомментирую последние три строки файла конфигурации (т. Е. строку Match и следующие 2).