如何设置可供多个用户使用的反向SSH隧道服务器?

对不起,对于文本墙,我是一个新手,但用尽了我的search资源。

为了为我的本地Django开发服务器build立公共IP,我设置了一个AWS微型实例作为反向SSH隧道服务器。 公共IP指向隧道服务器,并且创build从本地机器到隧道服务器的反向隧道,用于在公共IP和我的机器之间转发通信。 如果您有兴趣,请使用以下命令:

autossh -M 8001:8001 -NR 80:localhost:8000 [email protected] -v

我现在正在开发另一个开发者,并且需要为他设置类似的东西。 我可以创build一个我的设置克隆(实质上是为他创build一个新的隧道服务器),但似乎混乱,特别是因为我需要在未来添加更多的开发人员。

有没有办法设置一个服务器,多个用户可以用来build立反向SSH隧道,考虑到这些用户有独特的公共IP,但转发相同的端口? 基本上,我和我的合作伙伴都可以使用同一台服务器进行反向SSH隧道传输,通过相同端口正确转发不同公网IP的stream量。

提前致谢,请让我知道,如果我可以澄清。

我们这样使用它:

安装隧道的本地脚本(所以你不必记住:)) – 就像:

_username_local.domain.org.sh_

 #!/bin/sh echo "local: 8080 - remote: 8081" echo "http://username-local.domain.org/" ssh [email protected] -R 8081:localhost:8080 -g 

所以第一个用户在远程端口8081听,第二个在8082等

在服务器上设置nginx作为反向代理,每个用户一个“服务器”:

 upstream user_1 { server localhost:8081 fail_timeout=0; } server { listen 80; server_name username-local.domain.org; location / { proxy_redirect off; proxy_pass http://user_1; } } 

不要忘了设置创buildDNS条目…(可能与通配符* .domain.org)