好吧,我有一个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 A
的web service
。 您可以使用Dynamic Port Forwarding
ssh -N -D 9000 user@server_b
并将您的Web浏览器configuration为使用SOCKS代理主机127.0.0.1
和端口9000