允许用户使用 SSH 或 SFTP 连接,但限制为主目录 (Centos7)

允许用户使用 SSH 或 SFTP 连接,但限制为主目录 (Centos7)

我正在配置一个应该有多个域和用户的网络服务器。
我试图限制用户只能访问他们的主目录并允许他们通过 SSH 或 SFTP 连接。
到目前为止,我遵循了一些指南并设法将用户限制到特定目录并使用 SFTP 连接,但是当我尝试使用 SSH 连接时,我得到:

无法 chdir 到主目录 /home/username:没有这样的文件或目录 /bin/bash:没有这样的文件或目录

我的 /etc/ssh/sshd_config 结尾如下所示:

Subsystem sftp internal-sftp

Match Group sftp
    ChrootDirectory %h
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp

*我将用户“username”添加到“sftp”组。
*如果我评论“匹配组...”块并将“子系统 sftp 内部 sftp”更改回“子系统 sftp /usr/libexec/openssh/sftp-server”,我可以使用 SSH 连接,但没有文件夹限制。

- 任何想法?


子问题:我还将域从 /var/www/ 目录安装到用户主目录以使其可访问,这通常是在共享主机上完成的吗?

答案1

您需要设置正确的 chroot 环境每个用户你想通过 SSH 进入。

每个 chrooted 主目录都必须有它自己的能够启动 shell 等的最小 Unix 可执行文件和设备文件集。命令集将仅限于您复制到用户“自己的根目录”中的任何命令。这是 chroot 环境的主要棘手之处——用户会无休止地抱怨缺少特定命令。

有一堆关于如何设置 chrooted SSH 的手册,这个看起来很正常:Chrooted SSH/SFTP 教程 (Debian Lenny)

干杯!

相关内容