樹莓派設置遠程訪問

轉載請註明文章出處:樹莓派設置遠程訪問linux

接上文 組裝樹莓派4B及安裝系統,本文是設置在外遠程訪問家裏樹莓派的詳細步驟。git

基本設置

在開始以前,先作一些基本讓樹莓派能更好的工做。github

禁止自動登陸

樹莓派默認啓動後直接進入桌面,不須要用戶登陸。雖然樹莓派常放置於內網,但這樣仍是很不安全。爲了提升安全性和隱私保護,建議禁止自動登陸功能。操做方式以下:web

  1. 在窗口輸入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>安全

  2. 經過上下箭頭選「boot options」回車,接着選「desktop/cli」回車。若是你是安裝了桌面系統,選擇「desktop」,不然選「console」,而後回車;服務器

  3. 界面回到初始選擇界面,按「tab」鍵將光標跳轉到"finish",回車。程序會問你是否重啓,根據本身需求選「yes」或者"no"。網絡

raspi-config是樹莓派系統自帶的系統配置工具,簡單好用且功能強大,沒事建議多進去看看。less

設置靜態ip

樹莓派在家裏主要做爲服務器,ip不該該常常變更。固定樹莓派ip有三種方法:dom

  1. 經過路由器綁定ip和mac地址。這須要登陸路由器的web管理界面,其操做根據型號有所不一樣;

  2. 在圖形桌面中,右鍵右上角的網絡圖標,選擇「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>

  3. 手動編輯**/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幾乎是全部服務器必備且最重要的服務之一,但樹莓派默認是關閉的,因此要先開啓。樹莓派上開啓ssh服務方法有三種:

  1. 命令行中輸入:sudo systemctl enble sshd && sudo systemclt start sshd
  2. 使用raspi-config命令,在「intefacing options」中選擇「ssh」,設置爲開啓;
  3. 在圖形桌面中,點擊左上角樹莓派logo,菜單中選擇「preferences」 -> 「raspberry pi configuration」,在彈出的窗口中選擇「interfaces」 -> "ssh",點擊肯定。 <a href="https://tlanyan.me/raspberry-setup-remote-access/ssh-3/" rel="attachment wp-att-5887"><img src="https://user-gold-cdn.xitu.io/2019/11/3/16e2f3af1132f251?w=644&h=545&f=png&s=93628" alt="樹莓派開啓ssh訪問" width="644" height="545" class="aligncenter size-full wp-image-5887" /></a>

設置好後,用putty等終端鏈接樹莓派,成功連上則說明設置沒問題。

內網穿透

對於在家裏部署nas或者放置服務器的人來講,內網穿透是必須掌握且繞不過的話題。網絡穿透有向日葵、花生殼等收費穿透軟件,也有teamviewer等遠控軟件,還有frp等開源軟件可供選擇。本文使用有公網ip的vps作內網穿透服務器,軟件使用開源的frp作內網滲透方案,設置步驟以下:

  1. 部署服務端。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 &。若是開了防火牆,記得放行相應的端口。

  2. 樹莓派上部署客戶端。儘管樹莓派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隧道鏈接,安全且方便。

vnc遠程訪問

對於桌面系統來講,能遠程查看桌面是最好的。通常來講有兩種解決方案:windows遠程桌面那一套的rdp,以及開源的vnc。對於一個linux玩家來講,vnc無疑是更好的選擇。接下來簡要說明vnc的配置過程。

  1. 對於接上顯示器的樹莓派,建議用vncserviced。三種開啓方法同ssh,命令行命令是:sudo systemctl enable vncserver-x11-serviced && sudo systemctl start vncserver-x11-serviced。樹莓派用的realvnc服務端,須要下載realvnc客戶端才能鏈接;
  2. 設置好後就移除鼠標鍵盤顯示器的樹莓派(處於無頭「headless」模式),vnc服務端須要用虛擬桌面。操做方式是:輸入vncserver,vnc服務端將建立虛擬桌面。而後再經過realvnc客戶端鏈接,端口默認是5901(能夠經過netstat -nlpt | grep -i vnc查看)

實踐中不建議經過frp對vnc鏈接作內網穿透,儘可能選擇ssh端口轉發,加密鏈接流量。

到此,咱們便設置了完美的樹莓派遠程訪問方案,既有命令行的ssh,也能夠經過vnc查看遠程桌面。

參考

  1. https://www.raspberrypi.org/documentation/remote-access/vnc/
  2. https://raspberrypi.stackexchange.com/questions/47823/how-to-prevent-autologin-of-gui
  3. https://www.jianshu.com/p/308fb22a7dab
相關文章
相關標籤/搜索