我无法强制用户在通过 ssh 连接时只能使用 sftp。
我的 /etc/ssh/sshd_config 中有以下几行:
Subsystem sftp /usr/libexec/openssh/sftp-server
Match user USERNAME
ForceCommand internal-sftp
Run Code Online (Sandbox Code Playgroud)
但是当我尝试通过 sftp 连接时,出现错误:
error: subsystem: cannot stat /usr/libexec/openssh/sftp-server: No such file or directory
subsystem request for sftp failed, subsystem not found
Run Code Online (Sandbox Code Playgroud)
但是,文件 /usr/libexec/openssh/sftp-server 确实存在并且似乎工作正常。如果我不尝试强制连接为 sftp,那么我可以很好地 ssh,所以 ssh 守护进程似乎正在正确处理事情,但强制 sftp 不是。
有没有人有什么建议?我试过寻找答案,但我发现的所有解决方案似乎都是关于 sftp-server 不在正确的位置。不过对我来说,该文件肯定在那里。
我使用的是 CentOS 6 和 OpenSSH 5.3p1。谢谢你的帮助。
Mat*_*lis 11
你使用“ChrootDirectory”吗?如果您的“/usr/libexec/openssh/sftp-server”存在,这将解释“找不到文件”。
您应该改用“子系统 sftp internal-sftp”(或放弃 Chroot)
| 归档时间: |
|
| 查看次数: |
21376 次 |
| 最近记录: |