UFI003(骁龙410 随身WiFi)FRP 远程访问部署手册
UFI003(骁龙410 随身WiFi)FRP 远程访问部署手册
目标设备:高通 MSM8916 (骁龙410) / OpenStick Debian 11 (bullseye) / handsomekernel 5.15
用途:通过 FRP 实现公网远程 SSH 访问(密钥认证,免密码)
版本:frp v0.71.0(2026-09 部署实战验证)
一、整体架构
[410 随身WiFi] --frpc--> [公网服务器 frps] <--SSH-- 用户(任何地方)
wlan0 上网 阿里云 ECS ssh -p 6022 -i key
内网直连 192.168.137.47 端口 7000(控制) 密钥认证
端口 6022(转发SSH)
- frpc(客户端):运行在 410 上,主动向外连接 frps(无需公网 IP)
- frps(服务端):运行在公网服务器,接收 frpc 注册并开放转发端口
- 安全:token 认证(frps↔frpc)+ SSH 密钥认证(用户↔设备)+ 关闭密码登录
二、服务端 frps 部署(公网服务器,amd64)
# 1. 下载安装(如 GitHub 直连不通,用 ghfast.top 镜像)
cd /tmp
wget https://ghfast.top/https://github.com/fatedier/frp/releases/download/v0.71.0/frp_0.71.0_linux_amd64.tar.gz
tar xzf frp_0.71.0_linux_amd64.tar.gz
cp frp_0.71.0_linux_amd64/frps /usr/local/bin/frps
chmod +x /usr/local/bin/frps
mkdir -p /etc/frp
# 2. 配置 frps.toml(token 用强随机字符串,与 frpc 一致)
cat > /etc/frp/frps.toml <<'EOF'
bindPort = 7000
auth.method = "token"
auth.token = "YOUR_STRONG_TOKEN"
EOF
# 3. systemd 开机自启
cat > /etc/systemd/system/frps.service <<'EOF'
[Unit]
Description=FRP Server
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/frps -c /etc/frp/frps.toml
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable --now frps
systemctl status frps # 应显示 active (running)
⚠️ 两层放行缺一不可(本次实战最大坑):
- 云安全组(阿里云控制台 → 安全组 → 入方向):放行 TCP 7000、6022,来源 0.0.0.0/0
- 服务器本机防火墙(firewalld/ufw):
sudo firewall-cmd --permanent --add-port=7000/tcp # firewalld (Alibaba Cloud Linux/CentOS) sudo firewall-cmd --permanent --add-port=6022/tcp sudo firewall-cmd --reload # 或 Ubuntu/Debian: sudo ufw allow 7000/tcp && sudo ufw allow 6022/tcp
三、客户端 frpc 部署(Debian / 410,arm64)
3.1 下载安装
# 准备工具
apt-get update && apt-get install -y curl wget
# 下载(GitHub 直连在国内常超时,用 ghfast.top / gh-proxy.com 镜像)
cd /tmp
curl -sL -o frp.tar.gz "https://ghfast.top/https://github.com/fatedier/frp/releases/download/v0.71.0/frp_0.71.0_linux_arm64.tar.gz"
tar xzf frp.tar.gz
# 安装
cp frp_0.71.0_linux_arm64/frpc /usr/local/bin/frpc
chmod +x /usr/local/bin/frpc
frpc --version # 验证: 0.71.0
mkdir -p /etc/frp /var/log/frp
架构说明:410 是 arm64,服务器一般 amd64,两个包名不同别下错。
下载通道经验:github.com直连 000 超时;ghfast.top、gh-proxy.com镜像 200 可用;mirror.ghproxy.com、github.moeyy.xyz当时不可用。
3.2 配置 frpc.toml(注意:用纯英文注释,避免终端乱码)
serverAddr = "XX.XX.XX.XX" # 你的公网服务器 IP/域名
serverPort = 7000
auth.method = "token"
auth.token = "YOUR_STRONG_TOKEN" # 必须与 frps 一致
log.to = "/var/log/frp/frpc.log"
log.level = "info"
log.maxDays = 7
# SSH 远程访问代理
[[proxies]]
name = "ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6022 # 公网对外开放的端口
3.3 systemd 服务
cat > /etc/systemd/system/frpc.service <<'EOF'
[Unit]
Description=FRP Client Service
After=network.target network-online.target
Wants=network-online.target
[Service]
Type=simple
ExecStart=/usr/local/bin/frpc -c /etc/frp/frpc.toml
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
RestartSec=10
LimitNOFILE=1048576
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable --now frpc
systemctl status frpc
tail -f /var/log/frp/frpc.log
# 成功标志: "login to server success" + "proxy added: [ssh]" + "start proxy success"
3.4 常用运维命令
systemctl status frpc # 状态
systemctl restart frpc # 重启(改配置后)
systemctl reload frpc # 重载配置(发送 HUP)
journalctl -u frpc -f # 看 systemd 日志
tail -f /var/log/frp/frpc.log # 看 frp 日志
frpc verify -c /etc/frp/frpc.toml # 校验配置语法
四、SSH 私钥认证配置(关键安全步骤)
4.1 生成密钥对(在电脑上)
ssh-keygen -t ed25519 -f D:\key\ufi_ed25519 -N "" -C "ufi003"
# 生成: ufi_ed25519 (私钥,自己保管) + ufi_ed25519.pub (公钥,放设备)
4.2 把公钥装进设备(user 和 root 都放)
# adb shell 或首次 SSH 后执行
mkdir -p ~/.ssh && chmod 700 ~/.ssh
# 把 ufi_ed25519.pub 的内容追加进去
echo "ssh-ed25519 AAAA... ufi003" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
4.3 关闭密码登录、root 仅密钥(公网暴露前必须做)
sed -i 's/^#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
sed -i 's/^PermitRootLogin yes/PermitRootLogin prohibit-password/' /etc/ssh/sshd_config
systemctl restart ssh
sshd -T | grep -iE 'passwordauthentication|permitrootlogin' # 验证生效
4.4 登录方式
# 公网(经 frp)
ssh -p 6022 -i D:\key\ufi_ed25519 root@39.96.206.90
# 内网直连
ssh -i D:\key\ufi_ed25519 root@192.168.137.47
五、本次部署踩坑经验(排查问题方法论)
坑 1:公网连不上 → 端口两层放行缺一不可
现象:frpc 日志显示 login to server success、start proxy success,但公网 ssh -p 6022 超时。
排查方法(双视角 + 端口对比):
# 主机侧
Test-NetConnection 39.96.206.90 -Port 6022 # False(超时)
Test-NetConnection 39.96.206.90 -Port 7000 # True(通!)
# 410 设备侧(排除本机网络因素)
timeout 10 bash -c 'echo > /dev/tcp/39.96.206.90/6022' && echo OPEN || echo TIMEOUT
结论推导:7000 通 = frps 活着、token 正常、frpc 正常;6022 不通 = 只有转发端口被拦。
根因:云安全组放行了 7000 但忘了放 6022;放行后仍不通,是服务器本机 firewalld 也忘了放。两层墙都要开。
坑 2:GitHub 直接下载超时 → 用镜像
curl -sI https://github.com/... 全 000。可用镜像:ghfast.top、gh-proxy.com。
探测方法:对多个通道做 HEAD 请求,选返回 200 的。
坑 3:设备 apt HTTPS 全挂 → CA 证书 + 时间
- 现象:
Certificate verification failed ... issuer unknown - 原因 A:系统时间停在 2021(无 RTC,重启即丢)→
date -s/ 配置 systemd-timesyncd 自动同步 - 原因 B:ca-certificates 包缺失(OpenStick 精简镜像没带)→ 手动下载 deb 安装 openssl + ca-certificates
- 附带:apt 源用 http 会被运营商劫持(报 2.2.2.2 广告),改 https + 装 CA 后解决
坑 4:nano 打开中文注释乱码
- 原因:配置文件里的中文(UTF-8)在非 UTF-8 的 adb shell 终端里按字节显示成
^h ^e ^m - 解决:配置文件注释一律用英文(ASCII);或先
export LANG=C.UTF-8再编辑
坑 5:root 登录"密码设了没用"
- 原因一:Debian 默认
PermitRootLogin without-password(root 禁止密码登录) - 原因二:root 密码被清成空(
passwd -S root= NP) - 解决:设密码 +
PermitRootLogin yes(内网短线可用);公网场景直接走密钥认证,不必开
六、安全加固清单
| 项目 | 状态 | 说明 |
|---|---|---|
| frps token | ✅ | 强随机字符串,frps/frpc 一致 |
| SSH 私钥认证 | ✅ | ed25519,user + root 都配好 |
| SSH 密码登录 | ✅ 已禁用 | PasswordAuthentication no |
| root 登录 | ✅ 仅密钥 | PermitRootLogin prohibit-password |
| frpc 日志 | ✅ | /var/log/frp/frpc.log 保留 7 天 |
| 私钥保管 | ⚠️ | 电脑上备份一份到加密介质,勿外传 |
| 服务器安全组 | ⚠️ | 建议授权对象收窄到自己的固定 IP(如有) |
| fail2ban | 可选 | 服务器上装,防爆破(密码已关,非必须) |
| 服务器本身 | ⚠️ | 服务器 SSH 用强密码/密钥,别开弱口令 |
七、扩展玩法(基于同样的 frpc 框架)
| 功能 | 原理 | 配置要点 |
|---|---|---|
| 串口日志采集 | 410 跑 ser2net 把 /dev/ttyMSM 映射 tcp | 加一个 tcp 代理 remotePort=64000 |
| 远程调试(OpenOCD) | 410 跑 OpenOCD 提供 gdb 端口 | 加代理 3333→6333,远程 gdb 连接 |
| frpc 管理面板 | webServer 配置 | 内网 http://192.168.137.47:7500 |
| 多转发端口 | 加多个 [[proxies]] 块 | 每个远程端口单独配置 |
文档完。部署验证时间:2026-09-03,frp v0.71.0,
浙公网安备 33010602011771号