文章目錄
- 前言
- 如何通過 SSH 連接到樹莓派
- 步驟1. 在 Raspberry Pi 上啟用 SSH
- 步驟2. 查找樹莓派的 IP 地址
- 步驟3. SSH 到你的樹莓派
- 步驟 4. 在任何地點訪問家中的樹莓派
- 4.1 安裝 Cpolar內網穿透
- 4.2 cpolar進行token認證
- 4.3 配置cpolar服務開機自啟動
- 4.4 查看映射到公網的隧道地址
- 4.5 ssh公網遠程訪問樹莓派
- 4.6 修改樹莓派默認密碼(可選)
- 步驟 5. 為SSH遠程樹莓派配置固定公網地址
- 命令行使用舉例:
- 修改cpolar配置文件
- 總結:
前言
本篇文章主要講解樹莓派+cpolar組合的作用,可以實現:
- 如何在 Raspberry Pi 中啟用 SSH
- 如何通過 SSH 連接到 Raspberry Pi設備
- 如何遠程在任何地點訪問家中的樹莓派
在使用樹莓派 (Raspberry Pi) 可以做的所有事情中,將其用作為家庭網絡中的服務器非常流行。微小的占地面積和低功耗使其成為運行輕量級服務器的完美設備。
在這種情況下,您應該可以做的一件事是在 樹莓派 (Raspberry Pi) 上運行命令,而無需插入顯示器、鍵盤、鼠標,也不必每次都將自己移動到樹莓派(Raspberry Pi) 所在的位置。
您可以通過從任何其他計算機、筆記本電腦、臺式機甚至手機通過 SSH(安全外殼)登錄您的 Raspberry Pi 來實現這一點。讓我告訴你怎么做。
如何通過 SSH 連接到樹莓派
我假設您在 Pi 上運行 Raspbian 并已通過以太網或 WiFi 成功連接到網絡。重要的是,您的 Raspberry Pi 已連接到網絡,否則您將無法通過 SSH 連接到它(抱歉我說得太明顯了)。
步驟1. 在 Raspberry Pi 上啟用 SSH
SSH 在 Raspberry Pi 中默認處于禁用狀態,因此您必須在全新安裝 Raspbian 后打開 Pi 時啟用它。
首先通過導航菜單轉到 Raspberry Pi 配置窗口。
- 樹莓派菜單,樹莓派配置
現在,轉到接口選項卡,啟用 SSH 并重新啟動您的 Pi。
- 在樹莓派上啟用 SSH
您還可以在不通過終端的情況下啟用 SSH。只需輸入命令 sudo raspi-config 然后轉到高級選項以啟用 SSH。
步驟2. 查找樹莓派的 IP 地址
在大多數情況下,您的 Raspberry Pi 將被分配一個本地 IP 地址,看起來像 192.168.x.x 或 10.x.x.x。您可以使用各種 Linux 命令來查找 IP 地址。
我在這里使用的是舊的 ifconfig 命令,但您也可以使用 ip address。
ifconfig
- 樹莓派網絡配置
此命令顯示所有活動網絡適配器及其配置的列表。第一個條目(eth0)顯示 IP 地址為 192.168.9.36,這是有效的。我使用以太網將我的 Raspberry Pi 連接到網絡,因此它在 eth0 下。如果您在名為“wlan0”的條目下使用 WiFi 檢查。
您還可以通過其他方式找到 IP 地址,例如檢查路由器/調制解調器上的網絡設備列表。
步驟3. SSH 到你的樹莓派
現在您已經啟用了 SSH 并找到了您的 IP 地址,您可以繼續從任何其他計算機通過 SSH 連接到您的 Raspberry Pi。您還需要樹莓派的用戶名和密碼。
默認用戶名和密碼是:
- 用戶名:pi
- 密碼:raspberry
如果您更改了默認密碼,請使用新密碼而不是上述密碼。理想情況下,您必須更改默認密碼。在過去,惡意軟件感染了數千臺使用默認用戶名和密碼的Raspberry Pi。
在要通過 SSH 連接到 Pi 的計算機上打開終端(在 Mac 和 Linux 上),然后鍵入以下命令。在 Windows 上,您可以使用像 Putty 這樣的 SSH 客戶端。
Windows用戶安裝SSH客戶端:
如果您使用的是windows,你需要在電腦上安裝PuTTY這樣的SSH客戶端,或者百度安裝。
下載完成之后,打開PuTTY,然后在session中的“Host Name”中輸入樹莓派的IP地址,然后點擊"open",即可連接樹莓派了。
第一次你會看到一個警告,點擊 Accept
按鈕。
提示輸入登錄用戶名: pi
輸入密碼(默認為:raspberry )
現在,輸入密碼并按回車鍵。
通過SSH登錄成功。
Mac和Linux用戶:
在這里,使用您在上一步中找到的 IP 地址。
ssh pi@192.168.x.x
注意:確保您的 Raspberry Pi 和您用于通過 SSH 連接到 Raspberry Pi 的計算機連接到同一網絡。
通過終端SSH
第一次你會看到一個警告,輸入 yes 并按回車鍵。
輸入密碼(默認為‘raspberry’)
現在,輸入密碼并按回車鍵。
通過SSH登錄成功
成功登錄后,您將看到 Raspberry Pi 的終端。現在,您可以通過此終端遠程(在當前網絡內)在您的 Raspberry Pi 上執行任何命令,而無需物理訪問您的 Raspberry Pi。
步驟 4. 在任何地點訪問家中的樹莓派
僅在家中同一局域網絡訪問樹莓派有局限性,且一旦樹莓派在家中的IP變化,如果有一天我們想在辦公室的位置想訪問樹莓派怎么辦?那我們現在就解決。
4.1 安裝 Cpolar內網穿透
cpolar是一款內網穿透工具,可以將您的內網站點暴露到公網上,使所有人可以訪問到你的站點。也可以TCP的方式將您的ssh端口映射到公網地址端口上。
cpolar官網:https://www.cpolar.com/
- cpolar一鍵安裝腳本:(國內用戶)
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
- 或短鏈接安裝方式:(國外用戶)
curl -sL https://git.io/cpolar | sudo bash
- 查看cpolar版本信息
cpolar version
如果正常顯示,則安裝成功,如圖:
4.2 cpolar進行token認證
如果您還沒有cpolar賬號,請去cpolar官網注冊并登錄后臺獲取認證token
cpolar authtoken xxxxxxxxxxxxxxxxxx
4.3 配置cpolar服務開機自啟動
- 配置cpolar開機自啟動
sudo systemctl enable cpolar
- 守護進程方式,啟動cpolar
sudo systemctl start cpolar
- 查看cpolar守護進程狀態
sudo systemctl status cpolar
如圖,狀態為active
, 說明啟動狀態成功
cpolar會默認安裝兩個樣例隧道,一個是Website隧道指向http 8080端口,一個是ssh隧道,指向tcp 22端口。
4.4 查看映射到公網的隧道地址
我們登錄cpolar后臺–>狀態,查看一下ssh隧道映射的公網地址:
4.5 ssh公網遠程訪問樹莓派
ssh 用戶名@1.tcp.vip.cpolar.cn -p XXXXX(X為cpolar生成的端口號,用戶名替換為主機用戶名)
如:
ssh pi@1.tcp.vip.cpolar.cn -p 20013
由于我們的本地22端口到了公網被映射到了20013端口,所以,ssh命令需要加-p參數,后面加公網隧道端口號
登錄成功了!現在,您可以在家里,或者學校,或者辦公室,手機4G終端網絡任意地方訪問您的樹莓派!
4.6 修改樹莓派默認密碼(可選)
上文提到,默認密碼是不安全的,尤其是您將樹莓派暴露在公網地址之上時,建議修改密碼
passwd
系統提示輸入當前密碼,(默認為‘raspberry’) 然后重復輸入新密碼,即可。
此外,您還可以設置 SSH 密鑰,這樣您就不必每次通過 SSH 登錄時都輸入密碼,但那是完全不同的主題。
步驟 5. 為SSH遠程樹莓派配置固定公網地址
以上教程,我們使用了免費的cpolar創建安全隧道實現公網ssh遠程樹莓派,但是免費隧道所生成的公網地址是臨時隨機的,會在24小時內隨機變化,為了方便長期遠程,我們接下來將這個公網地址配置成固定的,同時提高帶寬。
首先,登錄您的cpolar后臺,在cpolar后臺
->預留
-> 保留TCP地址
位置,添加一條記錄。
地區選擇China VIP
,和填寫描述,然后點擊保留
按鈕。
系統會分配給您一個該地區的固定TCP地址,可供長期穩定使用。
在調用 cpolar 時使用-remote-addr
選項參數,值為系統分配給您的保留 TCP 地址。
命令行使用舉例:
- 將后臺預留的TCP地址綁定到本地SSH端口
cpolar tcp -remote-addr=1.tcp.vip.cpolar.cn:20046 22
修改cpolar配置文件
在樹莓派中,修改cpolar配置文件,在ssh隧道下,添加remote_addr參數
nano /usr/local/etc/cpolar/cpolar.yml
注意:配置文件中的remote_addr參數為下劃線,與命令行中使用的-remote-addr中劃線不同。
修改完保存退出。
- 測試配置文件,我們在前臺單獨啟動隧道文件,測試一下
cpolar start ssh
如上圖,已經主明已經啟動了固定TCP端口隧道,與我們在后臺獲得得隧道地址一致。
CTRL+C
退出。
- 重新啟動cpolar服務,使ssh隧道在后臺生效。
sudo systemctl restart cpolar
- 使用公網地址連接SSH測試
ssh pi@1.tcp.vip.cpolar.cn -p 20046
注意:由于公網端口變成20046,所以請求時,ssh命令要加上-p參數, 值為指定的cpolar公網端口號。
windows用戶修改ssh客戶端的默認端口為cpolar的公網端口即可。
總結:
現在,我們每次遠程連接樹莓派時,不必每次修改遠程ssh連接地址了,效率進一步提升。
轉載自cpolar極點云的文章:無公網IP,從公網SSH遠程訪問家中的樹莓派