如何授予用户受限访问权限

如何授予用户受限访问权限

我有一台家用电脑,我创建了一个到服务器的反向端口转发。现在我想通过这台服务器让一些人访问家用电脑。我想控制这台服务器上用户的访问,所以我在 /etc/ssh/sshd_config 中添加了以下几行

Match User restricteduser
   ChrootDirectory /home/restricteduser
   AllowAgentForwarding no
   PermitOpen localhost:3333

但当我尝试连接服务器时

ssh restricteduser@serverIP
restricteduser@serverIP's password:

我收到以下错误:

Write failed: Connection reset by peer

答案1

ssh 守护进程的日志文件应该会为您提供此处发生的情况的具体信息。检查/var/log/auth.log

然而,我怀疑这ChrootDirectory就是导致问题的原因。

remoteuser登录后,ssh 守护进程会尝试 chroot 到/home/restricteduser并启动restricteduser的 shell(可能是/bin/bash)。由于已 chroot,ssh 守护进程将查找/home/restricteduser/bin/bash

此外,shell 所需的任何库都需要存在于 chroot 中(使用 进行检查ldd /bin/bash),并且 shell 期望在启动时可用的任何文件也需要存在。如果 ssh 守护程序本身需要访问文件,则这些文件也需要存在。

如果restricteduser要在登录后运行任何程序,它们也需要处于 chroot 中,以及它们的依赖库/文件。

这可能会变得相当复杂。如果你只是想提供端口转发,请查看如何创建受限的 SSH 用户以进行端口转发?

相关内容