好的,所以我有一个 Web 服务器,我们称之为服务器 A,它通过 HTTPS 提供服务。我有一个 SSH 网关服务器,我们称之为服务器 B。
由于防火墙规则,我无法从我的桌面 linux 计算机访问服务器 A 的 Web 服务。因此,要查看 Web 服务,我必须使用 X 转发到服务器 B 进行 SSH,并通过 SSH 隧道运行 firefox。服务器 B 可以访问服务器 A 的 Web 服务,因此它可以工作。
我想知道是否可以在我的 PC 和服务器 B 之间创建一个 SSH 隧道,这将允许我使用我的桌面 Web 浏览器访问服务器 A 上的服务,而不是通过 SSH 隧道运行 firefox。
对的,这是可能的:
ssh -L 8443:serverA:443 -Nf [user@]<serverB>
这将使您将桌面浏览器指向端口 8443 并将其发送到服务器 A 上的端口 443(HTTPS 端口)。这
-Nf
将使会话成为后台并立即退出到您的桌面,而不是与服务器 B 建立实际的 shell 会话。您甚至不需要
SSH Tunneling
访问web service
inServer A
。您可以使用Dynamic Port Forwarding
并配置您的网络浏览器以使用 SOCKS 代理主机
127.0.0.1
和端口9000