利用反向SSH從外網訪問內網伺服器
阿新 • • 發佈:2018-12-14
學院的伺服器在學院的內網,出了學院就不能訪問,在宿舍、家裡學習很不方便沒有伺服器的話。之前一直用TeamViewer,但是用著不舒服。最近新找到一個辦法,就是利用外網伺服器以及反向SSH搭一條通道,使得可以利用外網的伺服器登入內網的伺服器。簡單理解,既然外網無法找到內網的伺服器的IP,那就內網伺服器自己尋找外網的伺服器,主動搭建SSH通道,這樣外網就可以通過這條通道連線到剛剛了。
兩臺伺服器配置
IP | 登入使用者名稱 | |
內網伺服器 | 192.168.1.107 | tao |
外網伺服器 | 1.1.1.1.1 | root |
外網伺服器我用的是阿里雲的學生伺服器。
在內網伺服器上執行操作
ssh -NfR 1234:localhost:22 [email protected] -p 22
其中,這條命令的意思是在後臺執行(-f),不實際連線而是做port forwarding(-N),做反向ssh(-R),將遠端伺服器的1234埠對映成連線本機與該伺服器的反向ssh的埠。root為外網伺服器的登入名,1.1.1.1為外網IP(這裡我瞎寫的IP)執行完這條命令後在外網伺服器就可以進行登入了。
ssh [email protected] -p1234
ssh連線中斷問題
autossh -M 2222 -NfR 1234:localhost:22 [email protected] -p 22
ubuntu安裝autossh命令
sudo apt-get install autossh
參考: