在我的 Debian 系统上,我想创建一个用户仅有的允许从他们的机器到我的服务器进行反向端口转发,但我不确定如何专门为此目的创建受限用户。
例如,我们将我的服务器称为“Sam”,将我的笔记本电脑称为“Luke”。我希望 Luke 上的用户能够对 Sam 执行反向端口转发 ssh 命令,这样 Sam 上的端口 4321 就会通过隧道传输到 Luke 上的端口 4321。例如:
ssh -fnR 4321:localhost:4321 -l limitedUser Sam
如何在 Sam 上创建一个仅允许执行此命令的用户?
答案1
关于复杂的 SSH 内容,我经常查阅的文档是正确使用无密码 SSH。
重要的是使用command=
on进行限制.ssh/authorized_keys
,并将 shell 设置为 /bin/nologin。我一时还不知道反向转发命令的名称是什么。您甚至可能不需要它,在这种情况下,只需将命令设置为 nologin 或 logout 之类的。
答案2
更精确地添加 permitopen="host:port" ssh-rsa yourrsakey。这将限制端口转发到一个 host:port
答案3
您可能还会对以下内容感兴趣匹配sshd_config 中的关键字:http://www.openbsd.org/cgi-bin/man.cgi?query=sshd_config
如果您拥有许多具有类似权限的用户,情况可能会更好,并且在某些情况下更安全,因为 /etc/sshd_config 只有 root 可写,而 ~/.ssh/ 对于用户来说并不总是只读的。