Я пытаюсь, чтобы некоторые пользователи могли использовать sftp, но не ssh. Я смотрел на OpenSSH: разница между internal-sftp и sftp-server и Попытка ChrootDirectory пользователя SFTP в их домашний каталог
Внутри sshd_config у меня есть строки
Subsystem sftp internal-sftp
AllowUsers <a bunch of users>
Match group sftponly
ChrootDirectory /home/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Filezilla дает мне
Error: Network error: Software caused connection abort
Error: Could not connect to server
Когда я комментирую ChrootDirectory /home/%u
Я могу нормально подключиться.
Как я могу chroot?
Я собираюсь рискнуть и предположить, что это права доступа к файлам. Если вы используете ChrootDirectory все в следующем пути должен принадлежать root, а не группе, доступной для записи (см. man sshd_config).
И на всякий случай вы действительно добавляли своих пользователей в группы и все такое ...