【技能拾遗】——手机远程控制方案(中继服务器版)

📖 前言:面对长辈使用智能手机的困境,市面远程协助软件或昂贵、或繁琐、或有跨品牌壁垒。本文分享一种自建方案:通过云服务器与开源工具WireGuard搭建专属安全网络,实现手机间直连与控制。


目录

  • [🕒 1. 工具准备与介绍](#🕒 1. 工具准备与介绍)
    • [🕘 1.1 云服务器](#🕘 1.1 云服务器)
    • [🕘 1.2 WireGuard](#🕘 1.2 WireGuard)
    • [🕘 1.3 甲壳虫ADB助手](#🕘 1.3 甲壳虫ADB助手)
  • [🕒 2. 一键安装教程](#🕒 2. 一键安装教程)
  • [🕒 3. 手动安装教程](#🕒 3. 手动安装教程)
    • [🕘 3.1 服务器配置](#🕘 3.1 服务器配置)
      • [🕤 3.1.1 下载工具](#🕤 3.1.1 下载工具)
      • [🕤 3.1.2 生成服务器密钥对](#🕤 3.1.2 生成服务器密钥对)
      • [🕤 3.1.3 创建配置文件](#🕤 3.1.3 创建配置文件)
      • [🕤 3.1.4 IP层配置](#🕤 3.1.4 IP层配置)
      • [🕤 3.1.5 防火墙放行](#🕤 3.1.5 防火墙放行)
    • [🕘 3.2 配置客户端](#🕘 3.2 配置客户端)
      • [🕤 3.2.1 生成客户端密钥对](#🕤 3.2.1 生成客户端密钥对)
      • [🕤 3.2.2 添加客户端到服务器配置](#🕤 3.2.2 添加客户端到服务器配置)
      • [🕤 3.2.3 创建客户端配置文件](#🕤 3.2.3 创建客户端配置文件)
      • [🕤 3.2.4 二维码生成](#🕤 3.2.4 二维码生成)
    • [🕘 3.3 手机端配置](#🕘 3.3 手机端配置)
    • [🕘 3.4 连接检查](#🕘 3.4 连接检查)
      • [🕤 3.4.1 隧道状态](#🕤 3.4.1 隧道状态)
      • [🕤 3.4.2 连通性](#🕤 3.4.2 连通性)
    • [🕘 3.5 被控端配置](#🕘 3.5 被控端配置)
  • [🕒 4. 最终效果](#🕒 4. 最终效果)

🕒 1. 工具准备与介绍

🕘 1.1 云服务器

选择一台基于Linux 5.5内核及以上的云服务器,此处选择阿里云的轻量应用服务器。

🕘 1.2 WireGuard

WireGuard介绍:WireGuard被设计为在嵌入式接口和超级计算机等上运行的通用端到端加密工具,适用于许多不同的环境,可以跨平台广泛部署。

Linux从5.5内核开始已集成WireGuard,因此它运行在内核空间,大大提高了性能和稳定性。

🕘 1.3 甲壳虫ADB助手

介绍:让复杂的ADB命令变得简单,一键连接设备,可视化操作,授予无线调试权限后通过内置的scrcpy组件传输画面,比起"无障碍"权限更稳定快捷。

🔎 甲壳虫ADB助手软件下载

🕒 2. 一键安装教程

🔎 【晨钟酱】手机远程控制的终极方案?无需家庭公网IP!

由于我的服务器环境在使用视频中的脚本时,会遇到环境识别的错误,因此本文主要介绍手动配置的过程。

bash 复制代码
[admin@xxx ~]$ sudo bash wireguard.sh
Error: CentOS 8 or higher is required to use this installer.
This version of CentOS is too old and unsupported.

市面上绝大部分发行版均已支持,只不过脚本的检测逻辑过时,只需要用如下命令判断内核版本即可

bash 复制代码
[admin@xxx ~]$ uname -r
5.10.134-18.al8.x86_64

🕒 3. 手动安装教程

🕘 3.1 服务器配置

🕤 3.1.1 下载工具

bash 复制代码
# 安装 WireGuard 工具
sudo yum install -y wireguard-tools

# 验证安装
wg --version

🕤 3.1.2 生成服务器密钥对

bash 复制代码
cd /etc/wireguard
umask 077
wg genkey | tee server_privatekey | wg pubkey > server_publickey
cat server_privatekey
cat server_publickey

记录好公私钥,后续会用到。

Tip: 注意需要切换root用户才能访问这个目录,生成前先 su root

bash 复制代码
[admin@xxx ~]$ cd /etc/wireguard
-bash: cd: /etc/wireguard: Permission denied

🕤 3.1.3 创建配置文件

创建 /etc/wireguard/wg0.conf,并打开编辑:

bash 复制代码
touch wg0.conf
vim wg0.conf
bash 复制代码
[Interface]
# 服务器私钥 (server_privatekey)
PrivateKey = xxx
# 服务器监听端口
ListenPort = 51820
# 分配给服务器的内网IP地址
Address = 10.66.66.1/24
# 保存后自动启用(可选)
SaveConfig = true

配置好之后,启动该服务

bash 复制代码
systemctl enable --now wg-quick@wg0

🕤 3.1.4 IP层配置

bash 复制代码
# 启用IP转发
sysctl -w net.ipv4.ip_forward=1
# 配置 iptables 规则,允许 VPN 网段转发
iptables -A FORWARD -i wg0 -j ACCEPT
iptables -A FORWARD -o wg0 -j ACCEPT

Tip: 如果不配置 iptables 规则,也能连接。但是会引发高丢包率与卡顿。

🕤 3.1.5 防火墙放行

找到云服务器控制台的防火墙区域,放行该端口的UDP流量

🕘 3.2 配置客户端

🕤 3.2.1 生成客户端密钥对

bash 复制代码
# 在服务器上为客户端(手机)生成密钥
wg genkey | tee phone_a_private.key | wg pubkey > phone_a_public.key
wg genkey | tee phone_b_private.key | wg pubkey > phone_b_public.key

同样记录好公私钥。

🕤 3.2.2 添加客户端到服务器配置

bash 复制代码
vim wg0.conf

打开 /etc/wireguard/wg0.conf,并在末尾添加:

bash 复制代码
[Peer]
# 客户端A
PublicKey = xxx
AllowedIPs = 10.66.66.2/32

[Peer]
# 客户端B  
PublicKey = xxx
AllowedIPs = 10.66.66.3/32

🕤 3.2.3 创建客户端配置文件

bash 复制代码
touch phone_a.conf
vim phone_a.conf

创建 /etc/wireguard/phone_a.conf,并打开编辑:

bash 复制代码
[Interface]
# 客户端A私钥 (phone_a_private.key)
PrivateKey = xxx
# 分配给客户端A的内网IP地址
Address = 10.66.66.2/32
DNS = 8.8.8.8

[Peer]
PublicKey = xxx
# 服务器公网IPv4地址
Endpoint = 8.138.xxx.xxx:51820
AllowedIPs = 10.66.66.0/24
PersistentKeepalive = 25

🕤 3.2.4 二维码生成

bash 复制代码
# 安装二维码生成工具
yum install -y qrencode

# 生成二维码
qrencode -t ansiutf8 < phone_a.conf

🕘 3.3 手机端配置

在谷歌商店搜索并下载该软件

打开软件后,点击右下角"+"号 → 扫描二维码

确认配置是否与刚刚所填写的一致,注意 远程区域 的路由IP地址段应改为 .0/24,随后开启连接

当看到流量有接收时,代表客户端与服务器连接正常

接下来同理,按照上述步骤配置好客户端B,注意分配给客户端B的内网IP地址需修改,不能和A相同。

🕘 3.4 连接检查

🕤 3.4.1 隧道状态

bash 复制代码
wg show

输出显示隧道已建立,有 latest handshake,说明控制层面连通。

🕤 3.4.2 连通性

bash 复制代码
# 服务器 ping 客户端
ping -c 3 10.66.66.2
ping -c 3 10.66.66.3

# 服务器 ping 自身 VPN IP
ping 10.66.66.1

手机A Ping 服务器,手机A Ping 手机B

手机端网络测试软件:
🔎 TP-LINK网络百宝箱

🕘 3.5 被控端配置

手机B:开发者配置 → 无线调试

手机A:打开甲壳虫ADB助手,输入IP地址和端口,随后会弹窗是否允许调试,同意后即连接成功,仅第一次需配置,以后不需要。

🕒 4. 最终效果

注:由于甲壳虫ADB助手长期未更新,其自带的scrcpy内核较旧,因此在控制安卓15及以上的设备时会出现黑屏,此时只能改为兼容模式运行。


OK,以上就是本期知识点"手机远程控制方案(中继服务器版)"的知识啦~~ ,感谢友友们的阅读。后续还会继续更新,欢迎持续关注哟📌~

💫如果有错误❌,欢迎批评指正呀👀~让我们一起相互进步🚀

🎉如果觉得收获满满,可以点点赞👍支持一下哟~

❗ 转载请注明出处

作者:HinsCoder

博客链接:🔎 作者博客主页

相关推荐
Kiri霧2 小时前
Go 切片表达式
java·服务器·golang
写代码的【黑咖啡】3 小时前
云服务器与传统服务器
运维·服务器
骚团长3 小时前
阿里云99元一年的云服务器部署Centos7.9通过MobaXterm安装RustDesk(图文并茂)
阿里云·云计算
zfj3213 小时前
容器 的 cpu request limit 与 linux cgroups 的关系
linux·运维·服务器·kubernetes·cgroup
qq 8762239653 小时前
探索储能变流器的PQ并网与VF离网控制
服务器
Lueeee.3 小时前
Linux内核镜像分析
linux·服务器
气π4 小时前
【流程】——若依项目前后端打包发布到服务器
运维·服务器·oracle
共绩算力4 小时前
给 TRAE SOLO 一台服务器,它能干什么?
运维·服务器
小尧嵌入式4 小时前
Linux的shell命令
linux·运维·服务器·数据库·c++·windows·算法