如何在不提供shell访问权限的情况下为网站设置SFTP?

我想为我的cPanel CentOS服务器上的所有站点使用SFTP,因为我们之前(不难)破解了FTP密码。 不过,我不希望每个网站的SFTP帐户有shell访问(甚至没有监狱shell)。 这是可能的和如何? 我对UNIX,服务器pipe理和命令行不熟悉。

我不确定哪个版本的OpenSSH与CentOS捆绑在一起,但是如果它是4.9或者更新,那么你可以用OpenSSH来实现,而不需要安装任何额外的软件。

我最近写了一篇关于这个的博客文章,你可以在这里查看: http : //blog.frands.net/sftp-only-chroot-users-with-openssh-in-debian-166/

这个指南是针对Debian的,但是如果OpenSSH的版本是4.9或者更高的话,这个指南几乎是一样的。 您可以通过发出以下命令来查找该版本:

ssh -V 

另外,在我的例子中,我为所有用户使用一个静态目录。 您可以在configuration文件中使用%u,这将被用户名replace。 所以ChrootDirectory可以设置为/ www / users /%u

为这些用户设置scponly作为loginshell。

RSSH – 受限的SSH将做你以后的事情。

RSSH是一个shell封装器,只允许用户访问你允许的SSH部分,首先用chroot环境设置起来有点麻烦。

http://www.pizzashack.org/rssh/

你可能想要考虑MySecureShell提供:

带宽控制。 安全权限信息。 用graphics界面pipe理服务器。 用日志pipe理服务器的活动。 用户通过ip,组限制用户。

我以前用过这个 安装和configuration非常简单,而且正在积极开发。 对于你来说,有CentOS软件包和一个GUI来帮助你进行configuration和pipe理。