用雲主機搭建私有的遠程網關,實現訪問內網電腦

       背景:內網主機經過了路由,在外網無法直接訪問.雖然我們有Teamviewer,向日葵,anydesk等軟件可以實現遠程訪問內網電腦的圖形界面,但是免費的版本有諸多限制,比如帶寬低,網絡不穩定.另外之前爆出過Teamviewer的服務器被黑,不免讓人擔心自己的隱私會泄漏.這篇文章就是介紹如何利用雲主機,來搭建自己的遠程網關,實現外網訪問內網主機的功能.

     首先需要購買一臺雲主機,購買過程略.以下用華爲雲ecs的ubuntu 16.04 服務器來介紹.首先點擊控制檯-安全組,添加規則,放行一組端口.

 

添加完成後,ssh連接到服務器用命令生成key文件,省略以後登陸時輸入密碼的操作.

#在雲主機上操作
ssh-keygen -t rsa
mv ~/.ssh/id_rsa.pub authorized_keys #修改爲默認的驗證文件.
然後只需要把私鑰文件 ~/.ssh/id_rsa 複製到其他電腦的 ~/.ssh/目錄下即可實現免密登陸雲主機,windows電腦的路徑在 C:\Users\用戶名\.ssh\

修改ubuntu服務器的sshd_config 文件,啓用網關功能

echo 'GatewayPorts yes'|sudo tee -a /etc/ssh/sshd_config # 啓用網關功能
echo 'ClientAliveInterval 30' |sudo tee -a /etc/ssh/sshd_config # 每30秒發送一個心跳包,保持連接
echo 'ClientAliveCountMax 30'|sudo tee -a /etc/ssh/sshd_config # 超過30個心跳包發送失敗則斷開連接
sudo service ssh restart  # 重啓ssh服務

在內網windows 10(1809以後的版本自帶SSH) 上,打開命令提示符

win+R打開運行窗口,然後輸入 cmd

在命令提示符中輸入 

ssh -fCNR 7000:localhost:3389 userID@huaweiyunIP
-f: 後臺執行ssh指令;
-C: 請求壓縮所有數據;
-N: 不執行遠程指令;
-R: 遠程端口轉發
7000:爲遠程服務器上用來做轉發的端口號
3389:微軟遠程桌面默認端口
userID:ubuntu服務器用戶名
huaweiyunIP:ubuntu服務器IP地址

輸入完成後在ubuntu主機上用命令查看端口7000 轉發是否存在

ss -tnlp #查看返回的結果中是否有上一步指定的端口,比如之前寫的7000

存在則代表添加成功,到此就完成了90%的步驟,其他的電腦 可以通過 huaweiyunIP:7000 ,這個地址來訪問內網windows10主機的遠程桌面.

後續的優化地方,可以將輸入命令的步驟加入到 windows的計劃任務中,以實現開機聯網後自動ssh連接到ubuntu服務器的功能.

發佈了18 篇原創文章 · 獲贊 1 · 訪問量 4694
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章