【发布时间】:2012-07-01 07:44:33
【问题描述】:
我们有一个公共服务器,它接受来自防火墙后面的多个客户端的 SSH 连接。
这些客户端中的每一个都使用ssh -R 命令从其 Web 服务器的端口 80 到我们的公共服务器创建一个反向 SSH 隧道。
反向SSH隧道的目的端口(客户端)是80,源端口(公共服务器端)取决于用户。我们正计划为每个用户维护一个端口地址图。
例如,客户端 A 会将其 Web 服务器的 80 端口隧道连接到我们的 8000 端口;客户端 B 从 80 到 8001;客户端 C 从 80 到 8002。
Client A: ssh -R 8000:internal.webserver:80 clienta@publicserver
Client B: ssh -R 8001:internal.webserver:80 clientb@publicserver
Client C: ssh -R 8002:internal.webserver:80 clientc@publicserver
基本上,我们要做的是为每个用户绑定一个端口,并且不允许他们通过隧道连接到任何其他端口。
如果我们使用带有ssh -L 的SSH 转发隧道功能,我们可以通过使用permitopen=host:port 配置来允许哪个端口通过隧道。但是,反向 SSH 隧道没有等价物。
有没有办法限制每个用户的反向隧道端口?
【问题讨论】:
-
我看到这也已发布到更适合它的 serverfault,但使用 google 更容易出现,所以这里是更好答案的链接:serverfault.com/questions/403549/…
标签: linux ssh ssh-tunnel