Я добавил пользователя ftp_user со строкой /etc/passwd:
ftp_user:x:1002:1003:ftp-пользователь,0,0,0,0:/home/ftp_user/files:/usr/sbin/nologin
Чтобы ограничить этого пользователя возможностью r/w/list только этого одного каталога, а не каких-либо других.
Когда я пытаюсь подключиться к этому пользователю по sftp, я получаю:
Получено слишком длинное сообщение 1416128883
sftp работал нормально, когда у меня была оболочка /bin/sh в файле passwd
ОБНОВИТЬ
Я использую подсистему sftp с этим в sshd_config:
Группа соответствия sftp
ChrootDirectory /home/ftp_user/files
X11Номер переадресации
AllowTcpForwarding нет
ForceCommand внутренний-sftp
Сопоставить пользователя ftp_user
Аутентификация по паролю да
Теперь, когда я пытаюсь войти по sftp, я получаю:
debug3: отправить пакет: введите 61
debug3: получить пакет: введите 60
отладка2: input_userauth_info_req
debug2: input_userauth_info_req: num_prompts 0
debug3: отправить пакет: введите 61
debug3: получить пакет: тип 52
debug1: аутентификация прошла успешно (клавиатура-интерактивная).
Аутентифицирован до x.x.x.x ([x.x.x.x]:22).
debug2: параметр fd 5 O_NONBLOCK
debug3: fd 6 равен O_NONBLOCK
debug1: канал 0: новый [клиентский сеанс]
отладка3: ssh_session2_open: канал_новый: 0
debug2: канал 0: отправить открытым
debug3: отправить пакет: введите 90
debug1: Запрос [email protected]
debug3: отправить пакет: введите 80
debug1: вход в интерактивный сеанс.
debug1: залог: сеть
debug3: отправить пакет: тип 1
package_write_wait: Соединение с x.x.x.x портом 22: Сломанный канал
Соединение закрыто