允许SFTP但不允许SSH?

Modified on: Sun, 30 Jun 2019 03:00:03 +0800

我为一些朋友和小客户创办了一家非常小的托管公司,没什么大不了的。

我想让我的“客户”有权在服务器上管理他们的文件。我讨厌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。

作者:user130370,Rob Wouters

相关问答

添加新评论