这篇文章主要讲的是如何在外远程访问树莓派的详细步骤。
基本设置
在开始行动之前,我们要先做一些基本来让树莓派更好的工作。
禁止自动登录
树莓派默认启动后直接进入桌面,不需要用户登录。虽然树莓派常放置于内网,但这样还是很不安全。为了提高安全性和隐私保护,建议禁止自动登录功能。操作方式如下:
在窗口输入sudo raspi-config,进入命令行交互界面;
通过上下箭头选“boot options”回车,接着选“desktop/cli”回车。如果你是安装了桌面系统,选择“desktop”,否则选“console”,然后回车;
界面回到初始选择界面,按“tab”键将光标跳转到”finish”,回车。程序会问你是否重启,根据自己需求选“yes”或者”no”。
raspi-config是树莓派系统自带的系统配置工具,简单好用且功能强大,没事建议多进去看看。
设置静态ip
树莓派在家里主要作为服务器,ip不应该经常变动。固定树莓派ip有三种方法:
- 通过路由器绑定ip和mac地址。这需要登录路由器的web管理界面,其操作根据型号有所不同;
在图形桌面中,右键右上角的网络图标,选择“wirele&wired network setting”,在出现的设置窗口中选择“interface”,分别设置有线网卡(eth0)和无线网卡(wlan0)的ip地址、子网掩码、dns等:
手动编辑/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”,点击确定。
设置好后,用putty等终端连接树莓派,成功连上则说明设置没问题。
内网穿透
对于在家里部署nas或者放置服务器的人来说,内网穿透是必须掌握且绕不过的话题。网络穿透有向日葵、花生壳等收费穿透软件,也有teamviewer等远控软件,还有frp等开源软件可供选择。本文使用有公网ip的vps做内网穿透服务器,软件使用开源的frp做内网渗透方案,设置步骤如下:
- 部署服务端。frp官网 下载对应服务器系统的软件版本,用tar-zxvf frp_0.29.0_linux_x.tar.gz命令解压。然后进入frp软件目录,编辑frps.ini。一个简易有授权的配置为:[common]
bind_port=你的端口号
token=认证密钥接下来启动frps服务:nohup./frps-c frps.ini>>frps.log2>&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.log2>&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来查看远程桌面。
由于文章直接放资源容易被删除,请关注WX公众号“qtfyfuli”获取。
暂无评论内容