ssh反向代理 為服務(wù)器提供加速
狂客原創(chuàng) 轉(zhuǎn)載請注明 侵權(quán)必究
為了讓服務(wù)器訪問外網(wǎng),你需要確保你的本地電腦有一個可以代理網(wǎng)絡(luò)請求的服務(wù)。例如,你可以使用 ssh -D 在本地電腦上先啟動一個 SOCKS 代理,然后再用 -R 將這個代理端口轉(zhuǎn)發(fā)給服務(wù)器。
步驟一:在本地電腦上啟動 SOCKS 代理
Bash
# 在本地終端執(zhí)行,這會創(chuàng)建一個監(jiān)聽在 9090 端口的 SOCKS 代理
ssh -D 9090 localhost -p 22
這個命令會啟動一個 SOCKS 代理,將你本地的流量轉(zhuǎn)發(fā)到本地,看似沒有意義,但它的作用是提供一個 SOCKS 代理服務(wù)。
步驟二:將本地代理端口轉(zhuǎn)發(fā)給服務(wù)器
保持上面的命令運行,另開一個本地終端,執(zhí)行遠程端口轉(zhuǎn)發(fā):
Bash
# 將本地的 9090 SOCKS 代理端口轉(zhuǎn)發(fā)到服務(wù)器的 7070 端口
ssh -R 7070:localhost:9090 user@server_ip
步驟三:在遠程服務(wù)器上配置代理
現(xiàn)在,遠程服務(wù)器就可以通過 localhost:7070 這個 SOCKS 代理來訪問外網(wǎng)了。你可以使用 curl 或其他工具來測試:
Bash
# 在遠程服務(wù)器終端執(zhí)行
curl --socks5-hostname localhost:7070 http://icanhazip.com
如果你看到返回的 IP 地址是你本地電腦的公網(wǎng) IP,那么恭喜你,轉(zhuǎn)發(fā)成功了。
2. 命令行設(shè)置
你可以通過設(shè)置環(huán)境變量來讓一些命令行工具(如 curl, wget 等)走代理。
Bash
# SOCKS5 代理
export ALL_PROXY="socks5://localhost:7070"
# 如果你只想讓 HTTP 請求走代理,可以設(shè)置 一般ALL_PROXY這個就夠用了
export http_proxy="http://localhost:7070"
export https_proxy="http://localhost:7070"
提示: 這種設(shè)置通常只在當前終端會話中有效。為了讓它永久生效,你可以將這些命令添加到你的 shell 配置文件中,例如 ~/.bashrc 或 ~/.zshrc。

浙公網(wǎng)安備 33010602011771號