提供对NAT后面的虚拟服务器的root ssh访问权限?

我们是一家networking托pipe公司。 我们有4个在CentOS上运行OpenVZ的服务器。 每个服务器上都有大约50个容器运行。

我们计划提供ssh root权限给一些客户(大约50)。 所有这50个用户将开发和托pipe单个网站的模块。 例如。 有一个网站xyz.com现在将有一个模块xyz.com/module1这个module1将由不同的开发者托pipe,并托pipe在不同的容器上。 同样,还有其他模块由不同的开发人员开发并托pipe在其他容器上。 问题是这些容器在NAT防火墙后面运行。 有一个xyz.com的公共IP。

我们不想做端口转发,因为它会在防火墙中打开不必要的端口。

我们正在考虑将所有的ssh请求转发到xyz.com到一个容器(ssh-temp),然后只允许从ssh-temp容器的ssh到其他容器。 但是这种方法是不可行的,因为用户将具有对其容器的根访问权并且可以修改防火墙规则。

有没有更好的方法来执行这个任务。 我正在考虑有一个scheme,用户可以运行一个命令,如:

 ssh [email protected] 

用户将被redirect到特定的模块。 我怎样才能达到这样的计划?

谢谢

编辑:我意识到提供networking容器的根访问是一个坏主意,但现在这是一个强迫,而不是一个select。

也许像一个SSH网关是你在找什么?

SSH网关通过强制ssh到另一个主机作为特定的用户名,基于ssh密钥。 假设在内部主机和互联网之间有一个网关盒子,上面有ssh。 – http://quark.humbug.org.au/publications/ssh/ssh-tricks.html

这个问题是相关的: 是否有一个基于名称的虚拟主机SSH反向代理?