Назад | Перейти на главную страницу

SSH - не удается запустить sftp-сервер при попытке принудительно запустить внутренний sftp

У меня проблемы с принуждением пользователей использовать 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)