從互聯網遠程訪問樹莓派
- 2021 年 5 月 9 日
- 筆記
- linux, 樹莓派, 樹莓派開始學習Linux
之前已經介紹過遠程登錄樹莓派,主要講的是區域網環境下通過SSH訪問樹莓派。通過互聯網環境下遠程訪問區域網內的樹莓派的方法,從實現角度上主要分為NAT埠映射、反向代理、內網穿透。本期我將介紹埠映射和SSH反向代理。
1.NAT埠映射
該種方法是通過拿到區域網上的公網IP,通過設置區域網網關NAT埠映射來實現從外網對樹莓派的直接訪問。本方法比較局限,主要是目前比較難獲得公網IP,尤其是家庭自用的情況下,當然也可以聯繫你的寬頻運營商獲得固定公網IP。只能說這是一種方法,從實現上來說比較直接這裡我就不多介紹了,有公網IP直接666。
2.SSH反向代理
SSH可以實現內網的登錄,同樣可以利用該技術實現SSH反向隧道,實現從外網登錄樹莓派。該方法的前提是你要有一台具有公網IP的伺服器。
首先,讓樹莓派主動向具有公網IP的伺服器的某個埠發起SSH連接,比如publicip.org:9999
,形成一個SSH隧道。當我們使用互聯網上的其他電腦,通過SSH連接到伺服器的這一埠時,伺服器會把通訊內容接力到與樹莓派的SSH隧道中,最終實現遠程訪問樹莓派。
之前我們已經介紹過申請一台亞馬遜的雲主機,可以使用該主機來實現SSH反向代理服務。
(1)在雲主機上需要修改sshd_config配置文件。
$ sudo nano /etc/ssh/sshd_config
[sudo] password for haifeng:
$ sudo service sshd reload
(2)在樹莓派上建立通道,這裡user1是雲主機的登錄用戶名,publicip.org是雲主機的域名或者公網IP,10009是雲主機上開放的埠,也是你用來形成SSH反向隧道的埠。命令回車後會提示輸入密碼登錄,輸入密碼登錄即可。
ssh -R 10009:localhost:22 [email protected]
然後會跳轉登錄至雲主機,此處可以查看剛才建立的反向隧道的情況。
~$ netstat -anp | grep 10009
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp 0 0 0.0.0.0:10009 0.0.0.0:* LISTEN -
tcp6 0 0 :::10009 :::* LISTEN -
該運行窗口不允許關閉,關閉後該隧道也隨之關閉。
(3)然後在其他電腦上可以通過該隧道進行遠程登錄了。
~$ ssh -p 10009 [email protected]
該方法只能作為臨時訪問措施,如果想要通過反向隧道實現持久穩定訪問,可以設置通過設置後台服務或通過autossh進行設置。
下期預告
下期我們將介紹通過內網穿透的方式遠程訪問區域網樹莓派,嘮這個我就不困啦。
歡迎關注我的公眾號,持續更新中~~~
