我需要一个SSH的反向代理解决方案

前端之家收集整理的这篇文章主要介绍了我需要一个SSH的反向代理解决方案前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
嗨,这是我在公司数据中心为项目提供服务器的情况.
我在端口22上有对这台机器的SSH访问权限.在这台服务器上运行了一些虚拟机,然后在许多其他操作系统工作的每个东西的后面.
现在,由于我在数据中心防火墙后面,我的主管问我是否可以做一些事情,我可以让很多人直接访问这些虚拟机.
我知道如果我被允许在22以外的端口上获得流量,那么我可以进行端口转发.
但是,由于我不允许这样做,所以在这种情况下可以解决什么问题.
想要连接的人可能是完全白痴.只是在他们的机器上打开putty或者甚至可能是filezilla可能会很开心.我已经配置了一个Apache反向代理,用于将Internet流量重定向到这些主机上的虚拟机.但是我不清楚SSH我能做什么.所以有一些东西相当于Apache Reverse Proxy,它可以在这种情况下为SSH做类似的工作.

我手上没有防火墙或没有22开放以外的任何端口,事实上即使我要求他们不允许打开.2次SSH不是我的主管想要的东西.

解决方法

您应该从计算机到数据中心的服务器打开ssh隧道.我们将其命名为“server1”.如果你使用openssh,你可以运行
ssh -L0.0.0.0:8080:localhost:8080 you_username@server1

这将打开从您的计算机在端口8080到服务器,端口8080的连接,在其间跳过防火墙.假设您的apache正在侦听端口8080.端口转发格式正在侦听IP:本地端口:远程地址:远程端口.当然对于单个服务器,您也可以使用

ssh -L0.0.0.0:8080:remote_server_address:8080 you_username@server1

请注意,localhost in -L参数是相对于server1的.换句话说,服务器看到来自localhost的连接,而实际上这些连接来自您的计算机通过ssh连接.

你还需要参数

AllowTcpForwarding yes

在服务器的ssh配置中(通常是/ etc / ssh / sshd_config).

在此之后,其他人可以通过端口8080连接到您的计算机以通过Apache反向代理连接.如果您需要通用代理(因此用户可以选择地址,而不仅仅是Apache配置中的特定地址),您应该在server1上安装squid并使用ssh tunnel到squid端口.

猜你在找的Linux相关文章