转载请注明文章出处:树莓派设置远程访问
接上文 组装树莓派 4B 及安装系统,本文是设置在外远程访问家里树莓派的详细步骤。
基本设置
在开始之前,先做一些基本让树莓派能更好的工作。
禁止自动登录
树莓派默认启动后直接进入桌面,不需要用户登录。虽然树莓派常放置于内网,但这样还是很不安全。为了提高安全性和隐私保护,建议禁止自动登录功能。操作方式如下:
- 在窗口输入
sudo raspi-config
,进入命令行交互界面;<img src=”https://user-gold-cdn.xitu.io…;h=624&f=jpeg&s=70245″ alt=”raspi-config 界面 ” width=”665″ height=”405″ class=”aligncenter size-large wp-image-5885″ />
- 通过上下箭头选“boot options”回车,接着选“desktop/cli”回车。如果你是安装了桌面系统,选择“desktop”,否则选“console”,然后回车;
- 界面回到初始选择界面,按“tab”键将光标跳转到 ”finish”,回车。程序会问你是否重启,根据自己需求选“yes”或者 ”no”。
raspi-config
是树莓派系统自带的系统配置工具,简单好用且功能强大,没事建议多进去看看。
设置静态 ip
树莓派在家里主要作为服务器,ip 不应该经常变动。固定树莓派 ip 有三种方法:
- 通过路由器绑定 ip 和 mac 地址。这需要登录路由器的 web 管理界面,其操作根据型号有所不同;
- 在图形桌面中,右键右上角的网络图标,选择“wirelesss&wired network setting”,在出现的设置窗口中选择“interface”,分别设置有线网卡(eth0)和无线网卡 (wlan0) 的 ip 地址、子网掩码、dns 等:
<img src=”https://user-gold-cdn.xitu.io…;h=556&f=png&s=125469″ alt=” 树莓派网络设置 ” width=”569″ height=”556″ class=”aligncenter size-full wp-image-5886″ />
-
手动编辑 /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 服务方法有三种:
- 命令行中输入:
sudo systemctl enble sshd && sudo systemclt start sshd
; - 使用
raspi-config
命令,在“intefacing options”中选择“ssh”,设置为开启; - 在图形桌面中,点击左上角树莓派 logo,菜单中选择“preferences”->“raspberry pi configuration”,在弹出的窗口中选择“interfaces”-> “ssh”,点击确定。<img src=”https://user-gold-cdn.xitu.io…;h=545&f=png&s=93628″ alt=” 树莓派开启 ssh 访问 ” width=”644″ height=”545″ class=”aligncenter size-full wp-image-5887″ />
设置好后,用 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 隧道连接,安全且方便。
vnc 远程访问
对于桌面系统来说,能远程查看桌面是最好的。一般来说有两种解决方案:windows 远程桌面那一套的 rdp,以及开源的 vnc。对于一个 linux 玩家来说,vnc 无疑是更好的选择。接下来简要说明 vnc 的配置过程。
- 对于接上显示器的树莓派,建议用 vncserviced。三种开启方法同 ssh,命令行命令是:
sudo systemctl enable vncserver-x11-serviced && sudo systemctl start vncserver-x11-serviced
。树莓派用的 realvnc 服务端,需要下载 realvnc 客户端才能连接; - 设置好后就移除鼠标键盘显示器的树莓派(处于无头“headless”模式),vnc 服务端需要用虚拟桌面。操作方式是:输入
vncserver
,vnc 服务端将创建虚拟桌面。然后再通过 realvnc 客户端连接,端口默认是 5901(可以通过netstat -nlpt | grep -i vnc
查看)
实践中不建议通过 frp 对 vnc 连接做内网穿透,尽量选择 ssh 端口转发,加密连接流量。
到此,我们便设置了完美的树莓派远程访问方案,既有命令行的 ssh,也可以通过 vnc 查看远程桌面。
参考
- https://www.raspberrypi.org/d…
- https://raspberrypi.stackexch…
- https://www.jianshu.com/p/308…