我们有一台公共服务器,可以接受来自多个防火墙后的客户端的SSH连接。
每个客户端都使用
反向SSH隧道的目标端口(在客户端侧)是80,源端口(在公共服务器侧)取决于用户。 我们计划为每个用户维护一个端口地址映射表。
例如,客户端A将其Web服务器的80端口隧道到我们的8000端口; 客户端B从80到8001; 客户端C从80到8002。
基本上,我们正在尝试将每个用户与一个端口绑定,并不允许他们隧道到任何其他端口。
如果我们使用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的正向隧道功能并使用
ssh -L
,我们可以通过使用permitopen=host:port
配置来允许哪个端口进行隧道。然而,对于反向SSH隧道没有相应的等效物。有没有一种方法可以限制每个用户的反向隧道端口?