RustDesk中继服务器脚本,,通过部署自已的远程桌面中继服务器可以有效提高安全性。
一、介绍
RustDesk的中继服务器(Relay Server)在远程桌面连接中起着至关重要的作用,特别是在设备无法建立直接P2P连接的情况下。以下是它的主要作用、价值以及安全性分析:
作用
数据中转:当客户端之间无法直接建立连接时,中继服务器充当桥梁,转发数据包,使远程控制得以实现。
穿透网络限制:在某些网络环境(如NAT或防火墙限制)下,设备可能无法直接通信,中继服务器帮助绕过这些限制。
稳定连接:即使P2P连接失败,中继服务器仍能确保远程桌面连接的稳定性。
价值
提升连接质量:相比直接P2P连接,中继服务器可以优化数据传输路径,减少延迟,提高远程控制的流畅度。
增强可用性:对于企业或个人用户来说,自建中继服务器可以确保远程连接的可控性,不依赖官方服务器。
灵活部署:RustDesk支持用户自建中继服务器,允许在本地或云端部署,以满足不同的使用需求。
安全性
端到端加密:RustDesk采用端到端加密技术,确保数据在传输过程中不会被第三方窃取。
自建服务器可控性:用户可以自行搭建中继服务器,避免数据经过官方服务器,提高隐私保护。
防止数据存储:RustDesk的中继服务器仅用于数据转发,不会存储用户的远程控制数据,减少信息泄露的风险。
二、脚本
需要将本文上方文件和下面的脚本拷贝到同一个目录中,然后执行脚本安装
#!/bin/bash
set -e
echo "🚀 开始部署 RustDesk 中继服务器…"
# 1. 自动获取公网 IP
PUBLIC_IP=$(curl -s https://api.ipify.org)
echo "🌐 获取公网 IP:$PUBLIC_IP"
# 2. 安装 Docker(如果未安装)
if ! command -v docker &> /dev/null; then
echo "🔧 安装 Docker…"
apt update
apt install -y \\
ca-certificates \\
curl \\
gnupg \\
lsb-release \\
apt-transport-https \\
software-properties-common
mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg –dearmor -o /etc/apt/keyrings/docker.gpg
echo \\
"deb [arch=$(dpkg –print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \\
https://download.docker.com/linux/debian \\
$(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
apt update
apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
fi
# 3. 配置 Docker 镜像加速器(阿里云)
echo "🐳 配置 Docker 加速器…"
mkdir -p /etc/docker
cat >/etc/docker/daemon.json <<EOF
{
"registry-mirrors": ["https://hub-mirror.c.163.com", "https://mirror.baidubce.com"]
}
EOF
systemctl restart docker || service docker restart
# 4. 导入 RustDesk 离线镜像
if [ -f "./rustdesk.tar" ]; then
echo "📦 加载本地离线镜像 rustdesk.tar…"
docker load -i rustdesk.tar
else
echo "❌ 未找到 rustdesk.tar 离线镜像文件,请将其放置在当前目录。"
exit 1
fi
# 5. 自动生成防盗用密钥
KEY=$(openssl rand -hex 16)
echo "🔑 生成防盗用密钥:$KEY"
# 6. 启动 hbbs 服务
docker rm -f hbbs >/dev/null 2>&1 || true
docker run -d –name hbbs \\
–restart=always \\
-p 21115:21115 \\
-p 21116:21116 \\
-p 21116:21116/udp \\
-p 21118:21118 \\
rustdesk/rustdesk-server:latest hbbs -k $KEY
# 7. 启动 hbbr 服务
docker rm -f hbbr >/dev/null 2>&1 || true
docker run -d –name hbbr \\
–restart=always \\
-p 21117:21117 \\
-p 21119:21119 \\
rustdesk/rustdesk-server:latest hbbr -k $KEY
# 8. 输出信息
echo ""
echo "✅ RustDesk 中继服务部署完成!"
echo "📌 公网 IP:$PUBLIC_IP"
echo "📌 防盗用 KEY:$KEY"
echo "📎 开放端口:"
echo " – 21115(hbbs)"
echo " – 21116(UDP+TCP,hbbs)"
echo " – 21117(hbbr)"
echo " – 21118(心跳)"
echo " – 21119(额外端口,可自定义)"
请开放脚本中用到的端口,公网地址为服务器的真实地址。
三、脚本说明
这个 Bash 脚本用于自动部署 RustDesk 中继服务器,实现远程桌面连接中的数据中转功能。它的主要步骤如下:
1. 自动获取公网 IP
-
通过 curl -s https://api.ipify.org 获取当前服务器的 公网 IP,用于后续配置和远程连接。
-
通过 echo 输出 公网 IP,方便用户查看和使用。
2. 安装 Docker(如果未安装)
-
检测 Docker 是否已安装:command -v docker &> /dev/null
-
如果未安装,则执行以下步骤:
-
更新 apt 软件包索引。
-
安装必要的 SSL 证书、包管理工具、curl、gnupg 等。
-
下载并配置 Docker 官方 GPG 密钥。
-
添加 Docker 官方源 并安装 Docker 相关组件。
-
3. 配置 Docker 镜像加速
-
创建 Docker 配置目录:mkdir -p /etc/docker
-
设置国内加速镜像:
-
网易 (https://hub-mirror.c.163.com)
-
百度 (https://mirror.baidubce.com)
-
-
重启 Docker 以应用新配置。
4. 导入 RustDesk 离线镜像
-
检查是否存在 rustdesk.tar 文件:
-
如果存在,使用 docker load -i rustdesk.tar 导入离线镜像,避免因网络问题拉取失败。
-
如果文件缺失,则提示用户手动提供。
-
5. 自动生成防盗用密钥
-
通过 openssl rand -hex 16 生成 16字节 HEX 随机密钥,用于 RustDesk 服务的验证,增强安全性。
6. 启动 hbbs(主服务器)
-
移除已有容器:避免端口冲突。
-
运行 hbbs 服务器:
-
-p 21115:21115 开放 主服务器端口。
-
-p 21116:21116 -p 21116:21116/udp 允许 UDP 穿透 NAT。
-
-p 21118:21118 处理 心跳包通信。
-
使用 -k $KEY 传递生成的密钥。
-
7. 启动 hbbr(中继服务器)
-
移除已有容器,避免冲突。
-
运行 hbbr 服务器:
-
-p 21117:21117 开放 中继服务器的主要端口。
-
-p 21119:21119 允许额外数据传输。
-
8. 输出部署信息
-
显示公用 IP,方便用户配置客户端。
-
显示防盗用密钥,用于 RustDesk 远程连接身份验证。
-
列出开放的端口,确保服务可以正常运行。
这个脚本是自动化 Docker 服务器的安装、加速设置,以及快速部署 RustDesk 远程控制的核心组件。如果有进一步的优化需求,或者想额外增强安全性,可以考虑 使用防火墙规则 限制访问,或者启用 HTTPS 代理 来保护传输数据。
使用时,连接时最好强制使用中继服务器,具体连接速度效果可自行测试。如下图:
评论前必须登录!
注册