在 Windows 10 中透過 SSH 隧道將網路呼叫重新路由到多個網域

在 Windows 10 中透過 SSH 隧道將網路呼叫重新路由到多個網域

我遇到以下情況:有些主機只能透過 ssh 隧道存取。可以說它的

我可以建立 SSH 隧道並將連接所需的 443 連接埠綁定到本地連接埠:

ssh -L 1443:example.com:443 -L 2443:other.com:443 -A -l username myproxy.com

到目前為止,這工作得很好 - 當我打電話時https://localhost:1443,我可以打開 example.com,如果我打電話https://localhost:2443,我可以打電話 other.com

問題:有些應用程式沒有意識到這一點,但仍然嘗試透過常規主機名稱和連接埠進行連接。

將以下行添加到我的hosts文件中,我可以更接近最終解決方案:

127.0.0.1 example.com
127.0.0.1 other.com

這使我能夠在瀏覽器中調用https://example.com:1443https://other.com:2443- 但端口仍然是一個問題。我需要將兩個網域映射到我的本地端口,443以使其適用於其他應用程式。

我想我需要有一個本地代理伺服器偵聽連接埠443並根據主機名稱將流量轉送到 或14432443但這就是我迷失的地方。

我該怎麼做才能使我的電腦上的所有應用程式僅使用主機名稱/端口,但讓流量通過我的 SSH 隧道?

答案1

使用ssh -D。這將在指定連接埠(通常是1080或9050)上建立SOCKS 5代理伺服器,您可以在瀏覽器中配置並存取一切透過 SSH 隧道。

這與 OpenSSH、PuTTY (plink)、Bitvise Tunnelier 的工作原理相同;並且不依賴任何作業系統級功能。

例如,透過ssh -D 9050運行,您可以像這樣配置 Firefox:

在此輸入影像描述

(Chrome 可能需要命令列選項反而。

相關內容