轉載請註明文章出處:樹莓派設置遠程訪問linux
接上文 組裝樹莓派4B及安裝系統,本文是設置在外遠程訪問家裏樹莓派的詳細步驟。git
在開始以前,先作一些基本讓樹莓派能更好的工做。github
樹莓派默認啓動後直接進入桌面,不須要用戶登陸。雖然樹莓派常放置於內網,但這樣仍是很不安全。爲了提升安全性和隱私保護,建議禁止自動登陸功能。操做方式以下:web
在窗口輸入sudo raspi-config
,進入命令行交互界面;windows
<a href="https://tlanyan.me/raspberry-setup-remote-access/raspi-config/" rel="attachment wp-att-5885"><img src="https://user-gold-cdn.xitu.io/2019/11/3/16e2f3af0d3bcb3c?w=1024&h=624&f=jpeg&s=70245" alt="raspi-config界面" width="665" height="405" class="aligncenter size-large wp-image-5885" /></a>安全
經過上下箭頭選「boot options」回車,接着選「desktop/cli」回車。若是你是安裝了桌面系統,選擇「desktop」,不然選「console」,而後回車;服務器
界面回到初始選擇界面,按「tab」鍵將光標跳轉到"finish",回車。程序會問你是否重啓,根據本身需求選「yes」或者"no"。網絡
raspi-config
是樹莓派系統自帶的系統配置工具,簡單好用且功能強大,沒事建議多進去看看。less
樹莓派在家裏主要做爲服務器,ip不該該常常變更。固定樹莓派ip有三種方法:dom
經過路由器綁定ip和mac地址。這須要登陸路由器的web管理界面,其操做根據型號有所不一樣;
在圖形桌面中,右鍵右上角的網絡圖標,選擇「wirelesss&wired network setting」,在出現的設置窗口中選擇「interface」,分別設置有線網卡(eth0)和無線網卡(wlan0)的ip地址、子網掩碼、dns等:
<a href="https://tlanyan.me/raspberry-setup-remote-access/network/" rel="attachment wp-att-5886"><img src="https://user-gold-cdn.xitu.io/2019/11/3/16e2f3af10c23e58?w=569&h=556&f=png&s=125469" alt="樹莓派網絡設置" width="569" height="556" class="aligncenter size-full wp-image-5886" /></a>
手動編輯**/etc/dhcpcd.conf**文件,在文件最末加入相似的以下行:
interface eth0 inform 192.168.1.2 static routers=192.168.1.1 static domain_name_servers=114.114.114.114 static ip6_address=2409:8a00:78d8:10b0:9d9e:1193:c495:228f
作好基本設置後,讓咱們正式進入遠程訪問的設置。
ssh幾乎是全部服務器必備且最重要的服務之一,但樹莓派默認是關閉的,因此要先開啓。樹莓派上開啓ssh服務方法有三種:
sudo systemctl enble sshd && sudo systemclt start sshd
;raspi-config
命令,在「intefacing options」中選擇「ssh」,設置爲開啓;設置好後,用putty等終端鏈接樹莓派,成功連上則說明設置沒問題。
對於在家裏部署nas或者放置服務器的人來講,內網穿透是必須掌握且繞不過的話題。網絡穿透有向日葵、花生殼等收費穿透軟件,也有teamviewer等遠控軟件,還有frp等開源軟件可供選擇。本文使用有公網ip的vps作內網穿透服務器,軟件使用開源的frp作內網滲透方案,設置步驟以下:
部署服務端。frp官網 下載對應服務器系統的軟件版本,用tar -zxvf frp_0.29.0_linux_xxxx.tar.gz
命令解壓。而後進入frp軟件目錄,編輯frps.ini。一個簡易有受權的配置爲: [common] bind_port = 你的端口號 token=認證密鑰
接下來啓動frps服務:nohup ./frps -c frps.ini >> frps.log 2>&1 &
。若是開了防火牆,記得放行相應的端口。
樹莓派上部署客戶端。儘管樹莓派4B用的64位處理器,但raspbian系統是32位的,因此從frp官網下載時記得選擇」frp_0.29.0_linux_arm.tar.gz「版本。解壓後進入frp目錄,編輯frpc.ini。一個開啓ssh穿透訪問的配置爲:
[common] server_addr = 服務器ip server_port = 服務器端口 token = 服務器密鑰 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 但願在服務器上監聽的端口
配置好後啓動frp客戶端:nohup ./frpc -c frpc.ini >> frpc.log 2>&1 &
。
配置沒有問題的話,經過公網ip監聽的端口即可ssh連到樹莓派上。
ssh隧道是很是強大的功能,[ssh端口轉發的三種方式]一文中對其有比較詳細的介紹。實踐中強烈建議內網穿透只開啓ssh端口,其它軟件的遠程訪問經過ssh隧道鏈接,安全且方便。
對於桌面系統來講,能遠程查看桌面是最好的。通常來講有兩種解決方案:windows遠程桌面那一套的rdp,以及開源的vnc。對於一個linux玩家來講,vnc無疑是更好的選擇。接下來簡要說明vnc的配置過程。
sudo systemctl enable vncserver-x11-serviced && sudo systemctl start vncserver-x11-serviced
。樹莓派用的realvnc服務端,須要下載realvnc客戶端才能鏈接;vncserver
,vnc服務端將建立虛擬桌面。而後再經過realvnc客戶端鏈接,端口默認是5901(能夠經過netstat -nlpt | grep -i vnc
查看)實踐中不建議經過frp對vnc鏈接作內網穿透,儘可能選擇ssh端口轉發,加密鏈接流量。
到此,咱們便設置了完美的樹莓派遠程訪問方案,既有命令行的ssh,也能夠經過vnc查看遠程桌面。