У меня проблемы с принуждением пользователей использовать sftp только при подключении по ssh.
В моем / etc / ssh / sshd_config есть следующие строки:
Subsystem sftp /usr/libexec/openssh/sftp-server
Match user USERNAME
ForceCommand internal-sftp
Но когда я пытаюсь подключиться через sftp, я получаю сообщение об ошибке:
error: subsystem: cannot stat /usr/libexec/openssh/sftp-server: No such file or directory
subsystem request for sftp failed, subsystem not found
Однако файл / usr / libexec / openssh / sftp-server существует и, похоже, работает нормально. Если я не буду пытаться принудительно установить соединение sftp, тогда я могу работать с ssh в полном порядке, так что демон ssh, кажется, обрабатывает вещи правильно, но принудительное sftp - нет.
У кого-нибудь есть предложения? Я пробовал искать ответы, но все решения, которые я нашел, похоже, связаны с тем, что sftp-сервер находится не в правильном месте. Однако для меня файл определенно существует.
Я использую CentOS 6 и OpenSSH 5.3p1. Спасибо за любую помощь.
Вы используете "ChrootDirectory"? Это объяснило бы «файл не найден», если ваш «/ usr / libexec / openssh / sftp-server» существует.
Вместо этого вы должны использовать "Subsystem sftp internal-sftp" (или отказаться от Chroot)