我为一些朋友和小客户开了一家很小的托管公司,没什么大不了的.
我想让我的“客户”有权在服务器上管理他们的文件.我讨厌FTP因为它不安全而且在我看来已经过时了.
所以我想允许我的用户通过SFTP连接,但不允许他们通过SSH连接. (我知道,我知道,SFTP正在使用SSH).但我只是想知道,这可能吗?
所以我不必在服务器上安装FTP服务,一切都会很棒!
解决方法
从版本4.9开始,OpenSSH(在centos 5.x中不可用,但ChrootDirectory功能被反向移植)有一个internal-sftp子系统:
Subsystem sftp internal-sftp
然后阻止其他用途:
Match group sftponly ChrootDirectory /home/%u X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp
将您的用户添加到sftponly组.您必须将用户的homedirectory更改为/,因为chroot和/ home / user应归root所有.我还将/ bin / false设置为用户的shell.