天天看點

樹莓派快速上手-遠端通路家中的樹莓派

一 前情概要

在前面的将樹莓派變身個人Linux電腦的文章中,有提到我使用的是吃灰了比較久的樹莓派Raspberry Pi 2 Model B,處理器是不帶Wi-Fi無線網卡能力的,是以之前要将樹莓派聯網的話隻能通過網線連接配接到路由器的LAN口。用下來還是比較麻煩的,因為有線的連接配接,樹莓派的移動性變差,隻能在路由器的附近,這大大降低了靈活性。

于是,我找到了之前入手的2個USB Wi-Fi網卡,其中一個是EDUP的非常小巧的USB Wi-Fi擴充卡,使用的晶片是RTL8188CUS,能免驅接入Linux系統,支援2.4G頻段,802.11n(Wi-Fi 4)。

樹莓派快速上手-遠端通路家中的樹莓派

另外一個是以前随開發闆一起的,必聯BL-LW05-AR5,外置全向天線,體積比EDUP的要大,使用的晶片也是RTL8188CUS,能免驅接入Linux系統,支援2.4G頻段,802.11n(Wi-Fi 4)。

樹莓派快速上手-遠端通路家中的樹莓派

是以兩款USB Wi-Fi擴充卡晶片和固件應當是差别不大的,EDUP的體積小,但是内置天線(這麼小體積可能是陶瓷天線)的信号應當比必聯BL-LW05-AR5的外置天線要略差,不過我還是選擇用EDUP的這款接入到樹莓派的USB口:

樹莓派快速上手-遠端通路家中的樹莓派

加上前面将樹莓派變身個人Linux電腦的文章中介紹的配置Wi-Fi路由器ssid和密碼,以及ssh連接配接的方式,将樹莓派啟動後,通過ssh工具登入,用 ifconfig 指令就能看到我的樹莓派通過Wi-Fi已經連上路由器,并擷取到IP位址了。

樹莓派快速上手-遠端通路家中的樹莓派

二 遠端通路的必要

通過前面的方式,我通過自己的電腦ssh雖然能夠登入到樹莓派系統,但是有個前提是我的電腦必須和樹莓派是連接配接在同一個路由器下面的,因為前面看到的樹莓派的IP位址 192.168.1.12 是一個區域網路位址,一旦我将電腦連接配接到别的路由器,或者外出時,就無法通過ssh登入樹莓派了。

當然更為嚴重的是,不僅僅是ssh,假如我後面用樹莓派Linux系統搭建了小的一些服務,如傳感器資料采集、網站站點、或者代碼倉庫,當我要通路我的樹莓派Linux,都隻能将電腦連在同一個路由器下面時才能做到,這樣其實是意義不大的,我們經常需要樹莓派Linux系統能夠長期穩定的運作,而無論我們身在何處,隻要通過網絡都能登入通路我們的樹莓派系統,這才能最大的發揮樹莓派的作用。

三 遠端通路的實作

因為目前樹莓派連接配接在路由器下,沒有公網IP,樹莓派雖然可以通過路由器通路外網,但是從外面是沒法找到并通路我的樹莓派的。為了解決從外網也能夠通路家裡的樹莓派,需要使用内網穿透工具,這裡推薦用cpolar。

3.1 cpolar的安裝

首先在區域網路内通過ssh登入到我的樹莓派,可使用如下一鍵安裝腳本:

# 國内一鍵安裝
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash

# 國外一鍵安裝
curl -sL https://git.io/cpolar | sudo bash      
樹莓派快速上手-遠端通路家中的樹莓派

3.2 Authtoken認證

首先可以到 ​​https://dashboard.cpolar.com/signup​​ 免費注冊cpolar賬号,已有賬号的話登入即可。然後在登入頁面如下圖的驗證位置,複制自己的Authtoken。

樹莓派快速上手-遠端通路家中的樹莓派
# 在樹莓派ssh登入的界面輸入剛才複制的Authtoken xxxxxxx
cpolar authtoken xxxxxxx

# 然後将cpolar服務配置為開機自啟動
sudo systemctl enable cpolar

# 以守護程序方式啟動 cpolar
sudo systemctl start cpolar

# 檢視啟動的cpolar守護程序狀态,輸入如下指令後看到 Active: active (running) 說明啟動成功
sudo systemctl status cpolar      

3.3 使用

通過以上步驟,cpolar預設會安裝三個隧道,兩個Website隧道,一個ssh隧道,登入cpolar背景可以看到“狀态”中的具體位址。

樹莓派快速上手-遠端通路家中的樹莓派

通過檢視上面“狀态”中的ssh的URL,這裡示例是tcp://3.tcp.vip.cpolar.cn:10901,是樹莓派經cpolar穿透内網後在外部公網的一個tcp位址和端口号,那麼通過這個資訊就能在外面用電腦,通過如下指令即可遠端ssh登入到家中的樹莓派了:

ssh [email protected] -p 10901      

這裡“狀态”中的ssh的URL,在樹莓派重新開機上電後會發生變化,另外據cpolar官網說明,24小時後好像也會随機改變,是以隔一段時間後再遠端ssh通路樹莓派時,需要再次檢視下cpolar背景的“狀态”的位址,使用新位址ssh登入到樹莓派。

五 寫在最後

遠端ssh登入,或通過其他方式通路家中的樹莓派,隻是一個開始,關鍵還是利用樹莓派低功耗、小巧靈活、不占空間的特點,放在家裡或其他的地方,作為一個輕量伺服器,遠端協助完成任務,或執行監控等,這些具體的場景的問題解決和需求滿足,才是樹莓派真正魅力所在。

參考資料

繼續閱讀