
# 用 SSH 反向隧道穿透內網:打工仔必學嘅遠端存取技巧
做 IT 嘅你一定遇過呢種情況:部測試機擺喺公司內網,冇 public IP,但老闆喺出面開會要你即刻連返去攞個 file,或者 debug 緊部 server 但人已經收咗工返到屋企。呢個時候,SSH 反向隧道(Reverse SSH Tunnel)就係你嘅救命稻草。
今日就用最口語化嘅方式,帶你一步步學識點樣用 SSH 反向隧道穿透內網,等你可以隨時隨地連返公司部機。
## SSH 反向隧道係咩一回事?
正常嘅 SSH 係「你主動連去伺服器」。但反向隧道啱啱相反:係「內網嗰部機主動連出嚟,然後喺外面建立一條通道俾你行入去」。
打個比喻:你間屋喺一條掘頭巷入面,外賣哥哥揾唔到門口。反向隧道就等於你(內網機)主動行出巷口,喺大街同外賣哥哥講「跟我嚟」,然後帶佢入你間屋。
呢個機制特別啱用喺:
– 公司內網機冇 public IP
– 防火牆只準出唔準入
– 想臨時 remote 入去 debug
## 事前準備
你要有一部有 public IP 嘅「中轉機」(VPS 都得),假設佢 IP 係 `203.0.113.10`,用户名係 `vpsuser`。內網嗰部機叫「內網機」。
先喺內網機裝好 SSH,確認可以用 key 登入中轉機:
ssh-keygen -t ed25519 -C "internal-host"
ssh-copy-id vpsuser@203.0.113.10
## Step 1:內網機建立反向隧道
喺內網機執行以下指令:
ssh -N -R 2222:localhost:22 vpsuser@203.0.113.10
拆解嚇每個參數:
– `-N`:唔執行遠端指令,淨係建立隧道
– `-R 2222:localhost:22`:喺中轉機開一個 port 2222,任何連去呢個 port 嘅流量都會被「反向」轉返去內網機嘅 port 22(即係內網機自己嘅 SSH)
– 最後係中轉機嘅登入資料
執行完之後,指令會停喺嗰度唔鬱,呢個係正常嘅——佢喺度維持住條隧道。
## Step 2:喺中轉機驗證隧道
開另一個 terminal,SSH 入去中轉機,然後試嚇經隧道連返內網機:
ssh -p 2222 internaluser@localhost
如果成功,恭喜你!你已經通過中轉機,經反向隧道連返去內網機啦。
## Step 3:出面嗰部機點樣用條隧道?
你而家喺屋企(出面),想連去內網機。最簡單做法係行「兩段跳」:
# 先連去中轉機,再喺中轉機入面連去 localhost:2222
ssh -t vpsuser@203.0.113.10 ssh -p 2222 internaluser@localhost
如果想一條指令搞掂,可以喺出面嗰部機嘅 `~/.ssh/config` 加:
Host internal-via-vps
HostName 203.0.113.10
User vpsuser
ProxyCommand ssh vpsuser@203.0.113.10 -W localhost:2222
之後直接 `ssh internal-via-vps` 就入到去。
## 進階:令隧道斷線自動重連
反向隧道最大嘅問題係斷線。如果內網機 reboot 或者網絡中斷,條隧道就冇咗。用 `autossh` 可以自動重連:
autossh -M 0 -N -R 2222:localhost:22 vpsuser@203.0.113.10
配合 systemd service 開機自動啟動:
sudo tee /etc/systemd/system/reverse-tunnel.service <<EOF
[Unit]
Description=SSH Reverse Tunnel
After=network.target
[Service]
ExecStart=/usr/bin/autossh -M 0 -N -R 2222:localhost:22 vpsuser@203.0.113.10
Restart=always
User=internaluser
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl enable --now reverse-tunnel
咁樣就算部機 reboot,條隧道都會自動起返。
## 安全注意事項
反向隧道雖然方便,但一定要小心:
– **用 key 認證,唔好用密碼**——密碼容易被暴力破解
– 中轉機個 port 2222 盡量用 firewall 只開放俾你指定嘅 IP
– 定期 review 有邊啲隧道仲開住,唔用就 kill 咗佢
## 總結
SSH 反向隧道係一個輕量、免費、唔使裝額外軟件嘅內網穿透方案。掌握咗呢招,以後遇到「內網機冇 public IP」嘅情況,你都識得點樣建立一條安全嘅通道連返入去。
🔗 參考資料:NVD NIST 漏洞資料庫
記住核心概念:**內網機主動連出嚟,你喺外面經中轉機行返入去**。搞掂呢個邏輯,其他變體都係換湯唔換藥。



