如何使用反向 SSH 隧道允許外部連接到 PC

如何使用反向 SSH 隧道允許外部連接到 PC

如果您夠幸運,您的 Internet 服務供應商 (ISP) 提供了專用 IP 位址,您可以設定一個家庭伺服器,並透過向路由器新增一些連接埠轉送規則(轉送)使其可用於 Internet 。但是,如果您的 ISP 強迫您與鄰居共享該 IP,則連接埠轉送將無濟於事。其他提供者只是透過防火牆規則阻止傳入連線。

用戶可以藉助虛擬專用伺服器克服所有這些限制。一切都可以在小於 512MB 的 RAM 上運行,因為它所要做的就是重定向網路流量。它不會消耗太多 RAM 和 CPU。伺服器將接收傳入連線並透過「反向 SSH 隧道」將它們重新導向到電腦。透過這種方式,您可以設定任何類型的家庭伺服器,每月費用非常低。

假設您建立一個 NextCloud 伺服器來上傳或同步檔案。當檔案位於家庭伺服器上時,您將保護它們的隱私,如果需要,您可以購買 6TB 硬碟來增加儲存容量。虛擬專用伺服器每月的電費低於 5 美元(115,000 越南盾)。比 6TB 容量伺服器的每月費用便宜。

注意:此方法僅用於重定向 TCP 網路流量。 TCP 由 Web 伺服器使用(連接埠 80/tcp)。有些(但不是全部)遊戲伺服器使用 UDP,例如《反恐精英》(連接埠 27015/UDP)。 UDP 隧道也是可能的,但需要一些技巧。

允許外部連接到 PC

Windows 10 現在有內建的 SSH 用戶端

不再需要使用 PuTTY來啟動 SSH 連線。在本教程中,我們將使用內建的 SSH 用戶端來設定隧道。請閱讀 LuckyTemplates 的文章:How to install OpenSSH on Windows 10 by LuckyTemplates 以了解更多資訊。

準備虛擬專用伺服器以進行隧道連接

使用您最喜歡的提供者建立虛擬專用伺服器。最重要的是選擇盡可能近的伺服器位置,以最大限度地減少網路延遲。嘗試將伺服器設定為可以直接登入 root 帳戶,最好使用 SSH 金鑰,因為這樣比較安全。如果您想要讓伺服器「偵聽」低於 1024 的連接埠(也稱為特權連接埠)上的傳入連接,則這是必要的。

開啟命令提示字元(如果使用 Linux,則開啟終端)並透過 SSH 登入伺服器。

編輯 OpenSSH 伺服器設定:

nano /etc/ssh/sshd_config

如果您不是以 root 身分登入而是以普通使用者身分登錄,則需要使用以下命令才能儲存檔案:

sudo nano /etc/ssh/sshd_config

向下捲動,直到找到名為 GatewayPorts 的變數該行可能如下圖所示:

#GatewayPorts no

刪除#(將其從註解更改為程式的一部分)並將該行更改為:

GatewayPorts yes

如果您找不到這一行,只需滾動到底部並自行添加該行:

GatewayPorts yes

如何使用反向 SSH 隧道允許外部連接到 PC

Ctrl + X,然後按y,最後按Enter儲存檔案。

重新載入 SSH 守護程序,以便它採用新設定。

systemctl reload ssh.service

退出 SSH 會話。

exit

如何設定反向 SSH 隧道

Linux、Windows、甚至 BSD 上的指令參數都是相同的。一般語法是:

ssh -R remote_port:host:localport your_username@IP-of-server
  • Remote_port告訴伺服器將連線重新導向到該連接埠上的它。
  • 主機告訴伺服器連線將重新導向到的 IP 位址。此處將使用127.0.0.1重定向到使用者自己的電腦。
  • localport指示封包應重定向到哪個連接埠。此處,使用者應設定本機上安裝的應用程式「偵聽」的連接埠號碼。

例如,要轉送連接埠 80 上的所有連線(到伺服器)並將它們傳送到本機上的連接埠 8080,命令為:

ssh -R 80:127.0.0.1:8080 [email protected]

這假設您有一個 Web 伺服器(例如 Apache 或 Nginx),在本機偵聽連接埠 8080。但如果 Apache/Nginx 正在監聽預設連接埠 80,那麼在上一個命令中使用同一連接埠兩次是沒有問題的(因為它們引用的是另一台伺服器中的連接埠 80)。

ssh -R 80:127.0.0.1:80 [email protected]

此時,如果有人在瀏覽器的網址列中輸入您的虛擬專用伺服器的 IP 位址,他們的連線將被重新導向並由您的本機電腦處理。

如何使用反向 SSH 隧道允許外部連接到 PC

在上圖中,使用了一個簡單的 Chrome Web 伺服器,預設偵聽連接埠 8887。用戶可以透過安裝應用程式然後使用命令來自行嘗試此設置,如圖所示。

值得一提的是,為了保持隧道處於活動狀態,SSH 會話必須保持活動狀態。若要關閉隧道,請在終端機或命令提示字元視窗中輸入 exit。

正如您所看到的,建立反向 SSH 隧道並不困難,但保護網站則不同。因此,如果您選擇實現本地 NextCloud 伺服器之類的想法,請至少將其隔離在虛擬機器中。這樣,如果網站被駭客攻擊,至少作業系統的其餘部分不會受到損害。

另一件需要記住的重要事情是始終備份您不想冒丟失的風險!

希望你成功。


什麼是惡意軟體 HackTool:Win32/Keygen?如何去除?

什麼是惡意軟體 HackTool:Win32/Keygen?如何去除?

您是否掃描過您的設備並發現它感染了 HackTool:Win32/Keygen?在您使用破解或金鑰產生器啟動進階軟體後,Windows Defender 可能會自動警告您有關此惡意軟體的存在。

在 Windows 10 上建立備份和還原點(Restore Point)的說明

在 Windows 10 上建立備份和還原點(Restore Point)的說明

探索如何在Windows 10上建立和管理還原點,這是一項有效的系統保護功能,可以讓您快速還原系統至先前狀態。

在 Windows 10 中開啟裝置管理員的 15 種方法

在 Windows 10 中開啟裝置管理員的 15 種方法

您可以使用以下 15 種方法輕鬆在 Windows 10 中開啟<strong>裝置管理員</strong>,包括使用命令、捷徑和搜尋。

Windows「顯示桌面」的 10 種超快速方法

Windows「顯示桌面」的 10 種超快速方法

很多人不知道如何快速顯示桌面,只好將各個視窗一一最小化。這種方法對於用戶來說非常耗時且令人沮喪。因此,本文將向您介紹Windows中快速顯示桌面的十種超快速方法。

如何使用 Windows Repair 修復 Windows 錯誤

如何使用 Windows Repair 修復 Windows 錯誤

Windows Repair 是一款有效的 Windows 錯誤修復工具,幫助使用者修復與 Internet Explorer、Windows Update 和其他重要程式相關的錯誤。

如何在 Windows 10 中開啟資料夾選項或檔案總管選項

如何在 Windows 10 中開啟資料夾選項或檔案總管選項

您可以使用檔案總管選項來變更檔案和資料夾的工作方式並控制顯示。掌握如何在 Windows 10 中開啟資料夾選項的多種方法。

有關在 Windows 10 上刪除使用者帳戶的 5 種方法的說明

有關在 Windows 10 上刪除使用者帳戶的 5 種方法的說明

刪除不使用的使用者帳戶可以顯著釋放記憶體空間,並讓您的電腦運行得更流暢。了解如何刪除 Windows 10 使用者帳戶的最佳方法。

如何使用Bootsect /nt60將VBC更新為BOOTMGR

如何使用Bootsect /nt60將VBC更新為BOOTMGR

使用 bootsect 命令能夠輕鬆修復磁碟區引導程式碼錯誤,確保系統正常啟動,避免 hal.dll 錯誤及其他啟動問題。

Windows 11 中的存檔應用程式功能是什麼?應該啟用還是停用它?

Windows 11 中的存檔應用程式功能是什麼?應該啟用還是停用它?

存檔應用程式是一項功能,可以自動卸載您很少使用的應用程序,同時保留其關聯的檔案和設定。了解如何有效利用 Windows 11 中的存檔應用程式功能。

如何在 Windows 10 上為 BlueStacks 5 啟用虛擬化 (VT)

如何在 Windows 10 上為 BlueStacks 5 啟用虛擬化 (VT)

要啟用虛擬化,您必須先進入 BIOS 並從 BIOS 設定中啟用虛擬化,這將顯著提升在 BlueStacks 5 上的效能和遊戲體驗。