SSH 隧道(Remote Port Forwarding)
1. 本地端口轉發 (Local Port Forwarding) ——
ssh -L這就是我們剛才用來解決 QNAP 網頁問題的方案。
- 用途:把「遠端服務」拉到「本地」用。
- 場景:NAS 在內網,你的電腦連不到它的 8080 網頁,但你能 SSH 到一台跳板機。
- 指令:
ssh -L 8888:目標NAS:8080 root@跳板機 - 結果:你訪問本地
localhost:8888,就等於訪問了遠端的 NAS 網頁。
2. 動態代理 (Dynamic Port Forwarding / SOCKS5) ——
ssh -D這是最接近「翻牆」或「全局代理」的功能。
- 用途:把 SSH 伺服器變成一個 SOCKS5 代理伺服器。
- 指令:
ssh -D 1080 root@遠端伺服器 - 場景:你的筆電無法訪問某個網段(例如公司的開發網),但那台遠端伺服器可以。
- 結果:你在瀏覽器設定「SOCKS5 代理」為
127.0.0.1:1080,之後你瀏覽器的所有流量都會通過那台遠端伺服器發送。
3. 遠端端口轉發 (Remote Port Forwarding) ——
ssh -R這通常用於「內網穿透」。
- 用途:把「本地服務」推送到「遠端」給別人用。
- 場景:你在家裡電腦開發了一個網頁,想給公司同事看,但你家沒公網 IP。
- 指令:
ssh -R 8080:localhost:80 root@公司公網伺服器 - 結果:同事訪問公司伺服器的
8080端口,實際上是在訪問你家電腦的網頁。
SSH 隧道(Remote Port Forwarding)
如果你目前的 Linux (en_58) 是通過遠端連入的,而你手邊有一台帶瀏覽器的 Windows 或 Mac,你可以利用這台 Linux 作為「跳板」:
- 在**你的電腦(筆電)**終端執行:
bash
ssh -L 8888:10.23.118.129:8080 root@<en_58_的_IP>e.g: ssh -L 8888:10.23.118.129:8080 en_58
請謹慎使用程式碼。 - 在你的電腦打開瀏覽器,輸入:
http://localhost:8888 - 這樣你就能在自己的瀏覽器看到 NAS 的初始化介面,完成後在「控制台」開啟 SSH。
SSH 隧道(Port Forwarding) 的運作
指令的基本格式是:ssh -L [本地端口]:[目標IP]:[目標端口] [中轉伺服器]
1. 通過 en_58 轉發(跳板機模式)
ssh -L 9999:10.23.118.129:27501 root@<en_58_IP>
2. 不通過轉發(直接對接模式)
ssh -L 9999:localhost:27501 admin@10.23.118.129
- 如何連進去:保持上面視窗別關,另開一個筆電終端輸入:
ssh -p 9999 admin@127.0.0.1
組件 你的指令參數 實際角色 本地入口 9999你筆電上用來存取的「虛擬端口」 遠端目標 IP 10.23.118.129最終目的地(NAS) 遠端目標端口 27501你想訪問的服務(SSH/Web/Database) 中轉/目標主機 root@...建立隧道的那個「管道」
共有 0 条评论