Linux

HTTPS SSH 隧道

  • March 9, 2018

好的,所以我有一個 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 servicein Server A。您可以使用Dynamic Port Forwarding

ssh -N -D 9000 user@server_b

並配置您的網路瀏覽器以使用 SOCKS 代理主機127.0.0.1和埠9000

引用自:https://serverfault.com/questions/581530