使用 ssh 隧道從外部連接到我公司的 Intranet LAN-only 網站

使用 ssh 隧道從外部連接到我公司的 Intranet LAN-only 網站

我公司有一個內網Web伺服器,只能從LAN訪問,作為整合伺服器用於Web開發。 LAN 中的使用者將其 /etc/hosts 設定為使用整合伺服器的 Apache 配置中定義的相同虛擬主機,因此能夠使用標準連接埠 80 連接到它。

我有時遠端工作,可以使用自訂連接埠透過 SSH 存取伺服器。

如果我將 /etc/hosts 設定為該伺服器的公共 IP,有什麼方法可以使用該自訂連接埠的 SSH 連接,以便我的瀏覽器連接透過隧道從該 Web 伺服器取得頁面?

答案1

我不太明白你的配置,但是當你 ssh 到公司伺服器時,你應該能夠設定 ssh 隧道,以便你可以使用瀏覽器存取公司網路伺服器。

你做不是需要在本機上設定 /etc/hosts。使用 ssh 參數

-L port:host:hostport

所有到本機主機連接埠的流量都透過隧道傳輸到遠端主機/主機連接埠。所以,當你這樣做時

 ssh -L 80:web-server:80 user@ssh-server -p 22

http://localhost將被重定向到web-server:80.請注意,主機連接埠是在遠端伺服器(即 ssh 伺服器)上轉換的。

-p 22如果 ssh 伺服器使用預設端口,則不需要,但問題確實表明 SSH 伺服器通過自訂端口。在這種情況下,請變更22自訂連接埠。

如果系統抱怨特權連接埠只能由 root 轉送,以超級使用者身分運作:

sudo ssh -L 80:web-server:80 user@ssh-server -p 12345

或以 root 身分登入。

答案2

SSH 命令列版本:

ssh -L 90:devserver:80 remotehost.example.com 

現在瀏覽到http://devserver:90/

請記住 /etc/hosts 必須指向 127.0.0.1

使用 PuTTY,在 SSH 隧道下:

  1. 在來源連接埠中輸入 90
  2. 在目標中輸入 devserver:80
  3. 點擊新增
  4. 請記住返回會話並點擊“儲存”。

比所有隧道更好的方法是在辦公室設定 OpenVPN。

答案3

我的做法恰恰相反。當我在客戶那裡時,我透過筆記型電腦上的隧道建立了一個安全的 ssh 隧道,指向安裝了 ssh 伺服器的外部伺服器。然後我在 google chrome 中設定 switchy,以啟用從瀏覽器轉送到透過 ssh 路由的外部伺服器的流量。

所以,

  1. 在 Chrome 瀏覽器中安裝 switchy(您可以在 ff/ie 中設定代理程式 - switchy 可讓您輕鬆在代理程式配置之間切換)。將 SOCKS 主機設定為 127.0.0.1,連接埠設定為 1080。
  2. 在您的遠端電腦上設定 Tunnelier 用戶端,即。您的筆記型電腦/家用電腦並將其連接到公司 ssh 伺服器。使用連接埠 1080 並啟用“SOCKS / HTTP 代理轉送”。

希望這可以幫助。

相關內容