1. SSH 的端口轉發(映射)
環境: 在一個網絡中有多臺服務器(A,B,C),一臺(A)可以被外網訪問,其他不能被外網訪問,B,C上有服務;
A-內網IP: 172.16.10.1 A-外網IP: 172.1.1.1 B-IP: 172.16.10.2 C-IP: 172.10.16.3
目的:從外網訪問B,C上的服務。
方法: 在A上做ssh端口轉發,將A上的222端口轉發到B上的22端口
在A服務器上執行:
ssh -CfNg -L 222:172.16.10.1 :22 [email protected] #在A上可以看到,222端口處於監聽狀態。
從外網訪問B的ssh服務
ssh 172.1.1.1 222 #直接訪問內網B的ssh服務。
注:SSH參數解釋:C表示壓縮數據傳輸
f表示後臺用戶驗證,這個選項很有用,沒有shell的不可登陸賬號也能使用.
N表示不執行腳本或命令
g表示允許遠程主機連接轉發端口
-L 本地轉發
2. SSH的代理上網(windows 環境)
環境: 在一個網絡中有多臺服務器(A,B,C),一臺(A)可以訪問外網,其他不能訪問外網;
A-內網IP: 172.16.10.1 B-IP: 172.16.10.2 C-IP: 172.10.16.3
目的:B,C訪問外網。
方法:(windows環境)在B電腦上,安裝plink.exe。 然後在命令行下執行如下命令:
plink -N [email protected] -pw password -D 127.0.0.1:1080 #password是A電腦root的密碼,
然後,打開360瀏覽器,設置代理爲:
127.0.0.1:1080@socks#ssh 代理
B電腦即可通過代理訪問外網資源了。
3. SSH的代理上網(Linux 環境)
環境: 在一個網絡中有多臺服務器(A,B,C),一臺(A)可以訪問外網,其他不能訪問外網;
A-內網IP: 172.16.10.1 B-IP: 172.16.10.2 C-IP: 172.10.16.3
目的:B,C訪問外網。
方法: 在B電腦上,執行如下命令:
ssh -qTfnN -D 1080 [email protected] # 可以看到本機的1080端口處於監聽狀態
爲需要訪問外網的軟件設置代理
例如 yum
vi /etc/yum.conf
proxy=http://127.0.0.1:1080 #在結尾添加代理配置
再次使用yum即可訪問外網資源。