1. 程式人生 > >ssh反向代理設置

ssh反向代理設置

主機 端口 終端 lis gre 127.0.0.1 方式 ssh 執行

一、功能描述:
通過ssh反向代理服務器使得沒有公網ip的Linux服務器可以被外網訪問。
1、實驗主機ip:
(1)終端1(192.168.1.101):在局域網內,可以訪問外網,無公網ip
(2)終端2(192.168.1.102):在局域網內,可以訪問外網,無公網ip
(3)反向代理服務器(58.23.223.90):具有公網ip,可以從互聯網訪問
2、實驗步驟:
(1)通過ssh登陸終端1並且執行如下命令:

ssh -fCNR 12000:localhost:22 -p 22 -i ./test.key [email protected]
說明:反向代理服務器是密鑰登陸方式,test.key是私鑰。
執行完上述命令後,在反向代理服務器上執行:netstat -anlp |grep 12000命令會有如下結果:

netstat -anlp |grep 12000
tcp 0 0 127.0.0.1:12000 0.0.0.0: LISTEN 6907/sshd
tcp 0 0 ::1:12000 :::
LISTEN 6907/sshd
(2)通過ssh登陸終端2並且執行如下命令:

ssh -fCNR 12001:localhost:22 -p 22 -i ./test.key [email protected]
說明:反向代理服務器是密鑰登陸方式,test.key是私鑰。

執行完上述命令後,在反向代理服務器上執行:netstat -anlp |grep 12001命令會有如下結果:
netstat -anlp |grep 12001
tcp 0 0 127.0.0.1:12001 0.0.0.0: LISTEN 6907/sshd
tcp 0 0 ::1:12001 :::
LISTEN 6907/sshd

(3)通過ssh登陸反向代理服務器:
在反向代理服務器上這時可輸入如下命令訪問終端1和終端2:

ssh -p 12000 test@localhost -i 終端1.key
--說明:test是終端1的用戶,終端1.key是終端1上test用戶的私鑰
ssh -p 12001 test@localhost -i 終端2.key
--說明:test是終端1的用戶,終端1.key是終端2上test用戶的私鑰

結果:這樣可以在反向代理服務器上直接訪問終端1和終端2
(4)在反向代理服務器上建立本地端口轉發,以供網內其他主機可以訪問終端1和終端2,執行如下命令:

ssh -fCNL :13000:localhost:12000 test@localhost -p 22 -i ./服務器.key

說明:test用戶是反向代理服務器的用戶,服務器.key是test用戶的私鑰

結果:可以通過訪問反向代理服務器的13000端口訪問到終端1,終端2同理。

ssh反向代理設置