HTTPS SSH隧道

好吧,我有一个Web服务器,可以称之为服务器A,它通过HTTPS提供服务。 而我有一个SSH网关服务器,可以称之为服务器B.

由于防火墙规则,我无法从桌面Linux计算机访问服务器A的Web服务。 因此,要查看Web服务,我必须使用X转发到服务器B进行SSH,然后通过SSH隧道运行Firefox。 服务器B可以访问服务器A的Web服务,所以它的工作原理。

我想知道是否可以在我的PC和服务器B之间创build一个SSH隧道,这将允许我使用我的桌面Web浏览器访问服务器A上的服务,而不是通过SSH隧道运行Firefox。

对的,这是可能的:

ssh -L 8443:serverA:443 -Nf [user@]<serverB>

这将允许您指向您的桌面浏览器在端口8443,并将其发送到您的服务器A上的端口443(HTTPS端口) -Nf将后台会话,立即退回到您的桌面,不build立一个实际的shell会话到服务器B.

您甚至不需要SSH Tunneling来访问Server Aweb service 。 您可以使用Dynamic Port Forwarding

 ssh -N -D 9000 user@server_b 

并将您的Web浏览器configuration为使用SOCKS代理主机127.0.0.1和端口9000