相关疑难解决方法(0)

如何将 sftp-only SSH 用户 chroot 到他们的家中?

我想让客户端访问我的服务器,但我想将这些用户限制在他们的主目录中。我将在我希望他们能够看到的任何文件中进行绑定挂载。

我创建了一个名为的用户bob并将他添加到一个名为 的新组中sftponly。他们在/home/bob. 我已经将他们的 shell 更改/bin/false为停止 SSH 登录。这是他们的/etc/passwd线路:

bob:x:1001:1002::/home/bob:/bin/false
Run Code Online (Sandbox Code Playgroud)

我还更改/etc/ssh/sshd_config了以下内容:

Match Group sftponly
        ChrootDirectory /home/%u
        ForceCommand internal-sftp
        AllowTcpForwarding no
Run Code Online (Sandbox Code Playgroud)

当我尝试以他们的身份登录时,这就是我看到的

$ sftp bob@server
bob@server's password: 
Write failed: Broken pipe
Couldn't read packet: Connection reset by peer
Run Code Online (Sandbox Code Playgroud)

如果我注释掉ChrootDirectory我可以 SFTP的行,但他们可以自由控制服务器。我发现这ChrootDirectory /home可行,但它仍然让他们可以访问任何主目录。我已经明确尝试过,ChrootDirectory /home/bob但这也不起作用。

我究竟做错了什么?我怎样才能限制bob/home/bob/

- - 编辑 - - -

好的,所以我只是看了一下/var/log/auth.log,看到了这个:

May  9 14:45:48 nj sshd[5074]: pam_unix(sshd:session): session opened …
Run Code Online (Sandbox Code Playgroud)

ssh sftp chroot

137
推荐指数
3
解决办法
30万
查看次数

标签 统计

chroot ×1

sftp ×1

ssh ×1