使用SSH反向隧道 (SSH Reverse Tunneling)
利用SSH連接在您的本地電腦和云服務器之間建立一個反向的加密通道。
原理: 從本地電腦發起一個SSH命令到您的云服務器,這個命令會告訴云服務器:“請監聽您自己的某個端口(例如:8888),任何發送到這個端口的流量,都請通過這條SSH隧道轉發給我本地電腦的代理端口(例如:7890)”。
操作步驟:
-
在您的本地電腦上,打開終端或命令行工具。
-
執行以下SSH命令:
ssh -R 8888:localhost:7890 user@your_cloud_server_ip
-R
表示這是一個反向隧道 (Reverse Tunnel)。8888
: 這是您希望在云服務器上監聽的端口。您可以選擇一個未被占用的端口。localhost:7890
: 這是您本地電腦上代理服務的地址和端口。請將7890
替換為您實際的代理端口。user@your_cloud_server_ip
: 這是您登錄云服務器的用戶名和IP地址。
-
保持這個SSH連接不要關閉。只要連接是活動的,隧道就會一直存在。
-
在您的云服務器上,現在您可以將Git或其他應用的代理設置為
http://127.0.0.1:8888
或socks5h://127.0.0.1:8888
。
# 在云服務器上配置Git
git config --global http.proxy http://127.0.0.1:8888
git config --global https.proxy https://127.0.0.1:8888
現在,當云服務器上的Git嘗試連接GitHub時,它會把請求發送到它自己的8888
端口,SSH會自動將這些請求通過隧道安全地轉發到本地電腦的7890
端口,然后通過本地的代理訪問互聯網。
注意事項:
需要在本地代理軟件中打開允許局域網訪問的開關,否則云服務轉發的請求可能會在本機被攔截