我为一些朋友和小客户创办了一家非常小的托管公司,没什么大不了的。
我想让我的“客户”有权在服务器上管理他们的文件。我讨厌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。