雲中樹莓派(1):環境準備
阿新 • • 發佈:2018-12-30
1. 裝置準備
準備好的裝置包括:
- 樹莓派3B,來自某寶
- 電源,來自某寶
- 8G 10級 microSD 卡(TF卡),包括讀卡器,來自某東
- 散熱片兩個,來自某寶
- SDH22 溫度溼度感測器,來自某寶
樹莓派確實和一張信用卡一般大小,如下圖所示。 它有4個USB,1個有線網口,1個HDMI,1個音訊輸出,一個電源介面,一個TF卡插口。注意 TF卡介面在USB口的另一面。
2. 系統安裝與基本配置
2.1 系統下載
2.2 SD 卡燒錄
將 SD卡插入樹莓派的SD卡口,然後接通電源,觀察指示燈。下表是指示燈表示的各種狀態:
第一次失敗,只有紅燈亮,綠色燈不閃爍。重新寫入映象。
格式化之前,能看到兩個碟符,格式化之後,就只能看到一個碟符了。
然後根據網上建議,把樹莓派解壓後的映象 .img 檔案放到不帶中文字元的路徑下,重新燒錄,然後再通電。此時,能觀察到綠燈間歇性閃爍。
但是,此時沒有網線,沒有SSH,還無法登入系統。
2.3 無線網路準備和SSH連線
將 SD 卡插入Windows 系統後,能看到兩個盤,其中一個是 boot(H) 盤。在其根目錄下,建立檔案 wpa_supplicant.conf,內容如下:
country=GB ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="<wifi 熱點名字>" psk="<wifi密碼>" }
然後,在同一個目錄下, 新建一個名為 ssh 的空白檔案。將 SSD 卡插入樹莓派,重新上電。
使用 Advanced IP Scanner 掃描區域網內的IP,很容易就能看到樹莓派。如下圖所示:
使用 SSH 登入樹莓派。預設使用者名稱和密碼為 pi/raspberry:
2.4 基本配置
執行 raspi-config 命令,可進行一些基本配置:
修改時區:選擇 4.Localisation Options 找到第二個 TimeZone,選擇Asia shanghai 修改鍵盤佈局:選擇 4.Localisation Options, 第三個,將 鍵盤佈局 改為US 美式鍵盤(因為樹莓派是英國產的 預設是英式鍵盤 而中國預設的是和美國一樣的美式鍵盤) 最後一個 Wifi地區 選中國2.5 遠端桌面配置
首先要更新系統:
sudo apt-get update sudo apt-get upgrade
然後安裝 xrdp:
sudo apt-get install xrdp
設定其開機自動啟動:
sudo systemctl enable xrdp
然後就可以使用 Windows mstsc 遠端登入樹莓派了:
效果還蠻不錯:
3. 外網SSH 訪問
當前樹莓派在內網中,可以通過Wift訪問公網,但是無法從公網訪問到。參考這篇文章,利用 SSH反向隧道,實現從外網SSH訪問樹莓派。
環境準備:
- 外網需要有一臺有公網IP 的 VPS,代號A,公網IP地址為 A1.A2.A3.A4
- 內網中的可以訪問外網的樹莓派,代號B
樹莓派上的配置:
- 首先安裝 autossh 軟體: apt install autossh
- 建立使用者 autossh,產生其 ssh key 檔案,拷貝到機器A 上,需要能夠從 B 無密碼SSH到A。
useradd -m autossh passwd autossh su - atuossh ssh-keygen -t 'rsa' -C '[email protected]' ssh-copy-id [email protected]
- 建立檔案 /lib/systemd/system/autossh.service,內容如下:
[Unit] Description=Auto SSH Tunnel After=network-online.target [Service] StartLimitIntervalSec=60 User=autossh Type=simple ExecStart=/usr/bin/autossh -p 22 -M 8889 -NR '*:8888:127.0.0.1:22' [email protected]A1.A2.A3.A4 -i /home/autossh/.ssh/id_rsa ExecReload=/bin/kill -HUP $MAINPID KillMode=process Restart=always [Install] WantedBy=multi-user.target WantedBy=graphical.target
- 啟動該服務,確保其狀態為 active
chmod 644 /lib/systemd/system/autossh.service systemctl enable autossh systemctl start autossh
systemctl status autossh
- 此時,能看到相關程序:
autossh 3709 1 0 Aug07 ? 00:00:00 /usr/lib/autossh/autossh -p 22 -M 8889 -NR *:8888:127.0.0.1:22 [email protected]*.*.*.* -i /home/autossh/.ssh/id_rsa autossh 3712 3709 0 Aug07 ? 00:00:00 /usr/bin/ssh -L 8889:127.0.0.1:8889 -R 8889:127.0.0.1:8890 -p 22 -NR *:8888:127.0.0.1:22 -i /home/autossh/.ssh/id_rsa [email protected]*.*.*.*
- 在A 上,能看到在 8888 埠上有 ssh 監聽:
tcp 0 0 0.0.0.0:8888 0.0.0.0:* LISTEN 18324/sshd: ubuntu
SSH訪問:
- 在A 上,ssh 到 8888 埠,利用樹莓派的使用者名稱和密碼,可以登入到樹莓派:
- 還可以直接在外網利用A 的公網IP 和樹莓派的使用者名稱密碼直接SSH:
參考連結:
歡迎大家關注我的個人公眾號: