首先,你要擁有兩台可以操控的Linux服務器,並且能連通互聯網!
HostA:本地服務器,可以上國內網絡,也能上香港網絡
HostB:以香港ECS服務器為例,可以上國內網絡,也可以上海外網絡
在 HostA 的本地 1080 端口啟動一個 socks5 服務,通過本地 socks5 代理的數據會通過 ssh 鏈接先發送給 HostB,再從 HostB 轉發送給遠程主機,執行命令如下:
ssh -D 0.0.0.0:1080 HostB
為了更好用一點,ssh 后面還可以加上:-CqTnN
參數,比如:
ssh -CqTnN -D 0.0.0.0:PortA:HostC:PortC user@HostB
其中 -C
為壓縮數據,-q
安靜模式,-T
禁止遠程分配終端,-n
關閉標准輸入,-N
不執行遠程命令。此外視需要還可以增加 -f
參數,把 ssh 放到后台運行。這些 ssh 代理沒有短線重連功能,鏈接斷了命令就退出了,所以需要些腳本監控重啟,或者使用 autossh 之類的工具保持鏈接。
那么在 HostA 上面,瀏覽器配置 socks5 代理為 127.0.0.1:1080,看網頁時就能把數據通過 HostB 代理出去,類似 ss/ssr 版本,只不過用 ssh 來實現。
這里其實更多的情況是很多瀏覽器客戶端通過代理工具(插件)去連接HostA,然后在瀏覽器上訪問需要訪問的網址,就能看到效果了。
關於瀏覽器代理插件,這里推薦一個SwitchyOmega,這個插件基本各大瀏覽器擴展中心都能下載到,配置截圖如下:
代理協議:選擇SOCKS5
代理服務器:填寫HostA的ip地址
代理端口:填寫設置的端口
設置好了之后,保存,並啟用,訪問谷歌搜索成功
更多SSH代理技巧,請查看:https://zhuanlan.zhihu.com/p/57630633