SSH-尝试强制内部 sftp 时无法启动 sftp 服务器

SSH-尝试强制内部 sftp 时无法启动 sftp 服务器

我在强制用户只能在通过 ssh 连接时使用 sftp 时遇到了麻烦。

我的 /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。感谢您的帮助。

答案1

您使用“ChrootDirectory”吗?如果您的“/usr/libexec/openssh/sftp-server”存在,这将解释“文件未找到”的问题。

您应该使用“Subsystem sftp internal-sftp”(或者放弃 Chroot)

相关内容