树莓派 --- 创建多个用户并实现用户从外网访问
Posted So istes immer
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了树莓派 --- 创建多个用户并实现用户从外网访问相关的知识,希望对你有一定的参考价值。
我们知道,当电脑和树莓派连着同一个手机热点时,通过电脑的xshell软件,我可以连上树莓派,因为它俩在同一个局域网内。
现在我有这样一个需求:给别人创建一个用户,并让对方可以通过外网访问我的树莓派
当我的树莓派连着手机热点,它分配到的IP不是公网IP,那么别人在外网肯定无法定位我的树莓派
解决技术:内网穿透,也叫NAT(Network Address Translation 网络地址转换)穿透
使用工具:frp(fast reverse proxy)
1.思路
简单来说就是:
树莓派和云服务器做一个端口映射。客户端通过访问云服务器的端口来访问树莓派。
所以你要有一个公网IP,去租一个云服务器吧
2.实现
①配置树莓派环境
cat /proc/cpuinfo //查看自己的cpu是什么架构的,我的是arm架构
getconf LONG_BIT //查看os的位数,我的是32位
// 下载frp,由于访问github.com太慢,我换了镜像网站
// 注意:下载合适的frp软件包,要和自己树莓派的CPU架构,操作系统的位数匹配
wget https://github.com.cnpmjs.org/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_linux_arm.tar.gz
mkdir frp //创建一个目录frp
tar -zxvf frp_0.38.0_linux_arm.tar.gz -C ./frp/ //解压到frp目录中
cd frp/frp_0.38.0_linux_arm //进入frp目录
vim frpc.ini //修改frpc.ini文件,如下
# frpc.ini
[common]
server_addr = x.x.x.x // 填云服务器IP
server_port = 7000
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
开启frpc(在目录frp/frp_0.38.0_linux_386下面)
./frpc -c ./frpc.ini
②配置云服务器环境
getconf LONG_BIT //我的云服务器的os是64位的
// 下面操作和上面类似
wget https://github.com.cnpmjs.org/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_linux_amd64.tar.gz
mkdir frp
tar -zxvf frp_0.38.0_linux_amd64.tar.gz -C ./frp/
cd frp/frp_0.38.0_linux_amd64
vim frps.ini
//修改frps.ini文件,如下
# frps.ini
[common]
bind_port = 7000
开启frps(在目录frp/frp_0.38.0_linux_amd64下面)
(如果有防火墙的记得关一下,或者去设置防火墙允许的端口范围,包含前两个文件中的server_port
和remote_port
)
./frps -c ./frps.ini
3.新创建一个用户
sudo useradd zpk //创建zpk账号
sudo passwd zpk //为账号设置密码
cat /etc/passwd|grep zpk //检查账号是否创建成功
4.测试
通过xshell,用ssh协议,端口号6000,主机号填云服务的IP,就可以访问树莓派了
用户名、密码上面刚设置了
5.开机自动打开frp服务
以上是关于树莓派 --- 创建多个用户并实现用户从外网访问的主要内容,如果未能解决你的问题,请参考以下文章