我遇到了麻烦,迫使用户只能通过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不是。
有没有人有什么build议? 我试过寻找答案,但所有我find的解决scheme似乎是关于sftp服务器不在正确的位置。 对我来说,这个文件肯定是存在的。
我正在使用CentOS 6和OpenSSH 5.3p1。 感谢您的帮助。
你使用“ChrootDirectory”? 如果你的“/ usr / libexec / openssh / sftp-server”存在的话,那将解释“找不到文件”。
你应该使用“Subsystem sftp internal-sftp”来代替(或者放弃Chroot)