RustDesk自建服务器完整部署指南:从零开始到成功连接。成功解决rustdesk报错:未就绪,请检查网络连接

发布于:2025-07-22 ⋅ 阅读:(11) ⋅ 点赞:(0)

最近需要用到远程工具解决用户问题,todesk总是提示付费,干脆自己使用开源的。当然凡事都有代价。 话费了一个工作日的时间终于搞定了。

本文将详细介绍如何从零开始部署RustDesk自建服务器,实现完全自主可控的远程桌面解决方案。

踩坑

参考了https://blog.csdn.net/m0_74823611/article/details/146158064 使用二进制文件 rustdesk-server-linux-amd64.zip安装,但是没有效果。估计还是端口映射的问题。

一方面也是自己偷懒原因,不想安装docker节省服务器空间。结果最后浪费了一早上的时间。

https://blog.csdn.net/weixin_53510183/article/details/143257158 这篇文章有说明二进制安装的缺陷。

1. 准备工作

1.1 服务器要求

  • 云服务器(腾讯云、阿里云等)
  • CentOS 7/8 或 Ubuntu 18.04+
  • 至少1GB内存,1核CPU
  • 开放的公网IP

1.2 必要端口

  • 21115 (hbbs - Web控制台,可选)
  • 21116 (hbbs - ID注册服务)
  • 21117 (hbbr - 中继服务)
  • 21118 (hbbs - Web API,可选)
  • 21119 (hbbr - Web API,可选)

2. Docker环境安装

2.1 CentOS Docker安装脚本

创建安装脚本文件:

nano install-docker.sh

复制以下内容:

#!/bin/bash

# 更新系统
sudo yum update -y

# 安装必要的工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

# 添加 Docker 仓库
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 替换镜像源到阿里云
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo

# 安装 Docker
sudo yum install -y docker-ce docker-ce-cli containerd.io

# 启动 Docker
sudo systemctl start docker
sudo systemctl enable docker

# 测试 Docker 是否安装成功
sudo docker run --rm hello-world

echo "Docker 已安装并启动成功!"

2.2 执行安装

chmod +x install-docker.sh
./install-docker.sh

2.3 配置Docker镜像加速(重要)

创建Docker配置文件:

sudo mkdir -p /etc/docker
sudo vim /etc/docker/daemon.json

添加以下内容:

{
  "registry-mirrors": [
    "https://dockerproxy.com",
    "https://mirror.baidubce.com",
    "https://ccr.ccs.tencentyun.com",
    "https://docker.m.daocloud.io",
    "https://docker.nju.edu.cn",
    "https://docker.mirrors.ustc.edu.cn"
  ]
}

重启Docker服务:

sudo systemctl restart docker

3. 防火墙配置

3.1 使用ufw(推荐)

# 安装ufw
sudo yum install -y epel-release
sudo yum install -y ufw

# 启用ufw
sudo ufw enable

# 开放必要端口
sudo ufw allow 21115:21119/tcp
sudo ufw allow 21116/udp
sudo ufw allow ssh

# 查看状态
sudo ufw status numbered

3.2 云服务器安全组

在云服务商控制台配置安全组规则:

  • 入方向:开放21115-21119端口(TCP)
  • 入方向:开放21116端口(UDP)

4. 部署RustDesk服务

4.1 创建数据目录

sudo mkdir -p /opt/rustdesk
sudo chown $USER:$USER /opt/rustdesk

4.2 启动hbbs服务(ID注册服务)

最好使用下面带端口的安装方法,官方文档https://rustdesk.com/docs/zh-cn/self-host/rustdesk-server-oss/docker/里使用–net=host 似乎并没有效果。

docker run --name hbbs \
  -p 21115:21115 \
  -p 21116:21116 \
  -p 21116:21116/udp \
  -p 21118:21118 \
  -v /opt/rustdesk:/root \
  -td --restart unless-stopped \
  rustdesk/rustdesk-server hbbs -r 你的服务器IP:21117

4.3 启动hbbr服务(中继服务)

docker run --name hbbr \
  -p 21117:21117 \
  -p 21119:21119 \
  -v /opt/rustdesk:/root \
  -td --restart unless-stopped \
  rustdesk/rustdesk-server hbbr

docker rustdesk

4.4 验证服务状态

# 检查容器运行状态
docker ps

# 检查端口监听
sudo ss -tuln | grep 2111

# 查看服务日志
docker logs hbbs
docker logs hbbr

5. 获取密钥

5.1 获取公钥

# 查看生成的公钥
cat /opt/rustdesk/id_ed25519.pub

**重要:**这个公钥将在客户端配置时使用,请妥善保存。

6. 客户端配置

6.1 下载RustDesk客户端

6.2 配置连接信息

打开RustDesk客户端,点击"设置" -> “网络” -> “ID/中继服务器”:
在这里插入图片描述

  • ID服务器: 你的服务器IP(⚠️ 不要加端口号)
  • 中继服务器: 你的服务器IP(⚠️ 不要加端口号)
  • Key: 粘贴步骤5.1获取的完整公钥内容
    在这里插入图片描述

6.3 保存并重启

  • 点击"确认"保存配置
  • 完全退出RustDesk客户端
  • 重新启动客户端

7. 常见问题及解决方案

7.1 rustdesk客户端显示"未就绪,请检查网络连接"

原因: 端口映射或防火墙问题
解决:

# 检查Docker端口映射
docker port hbbs
docker port hbbr

# 检查防火墙状态
sudo ufw status

# 验证端口监听
sudo ss -tuln | grep 21116
sudo ss -tuln | grep 21117

在这里插入图片描述
我主要就是卡在这一步,端口没有映射成功。这里不能开魔法的Tun模式,最好关掉。这样能检测是否真正的连接成功。

7.2 Key不匹配错误(高频问题)

原因: 客户端缓存了旧的配置或使用了错误的密钥
解决:

# Windows下清除缓存(管理员CMD)
rmdir /s /q "%APPDATA%\RustDesk"
rmdir /s /q "%LOCALAPPDATA%\RustDesk"

然后重新获取正确的密钥:

# 确保获取Docker容器中的最新密钥
cat /opt/rustdesk/id_ed25519.pub

7.3 网络连通性测试

# Windows PowerShell测试
Test-NetConnection 你的服务器IP -Port 21116
Test-NetConnection 你的服务器IP -Port 21117

正常结果应显示:TcpTestSucceeded : True

7.4 代理软件干扰

如果使用了Clash、Mihomo、V2Ray等代理软件,需要添加直连规则:

# 示例配置(Clash/Mihomo)
rules:
  - DOMAIN,api.rustdesk.com,DIRECT
  - IP-CIDR,你的服务器IP/32,DIRECT

8. 总结

通过以上步骤,终于成功部署了一个完全自主可控的RustDesk服务器。相比于使用官方服务器,自建服务器具有以下优势:

  • 隐私保护:所有连接数据不经过第三方服务器
  • 稳定可靠:不受官方服务器状态影响
  • 自主可控:可根据需要调整服务配置
  • 成本可控:一次部署,长期使用

现在可以在任何安装了RustDesk客户端的设备上,通过你的自建服务器进行远程桌面连接了!


关键提醒:

  • 服务器地址不要加端口号
  • 一定要配置Docker镜像加速
  • Key不匹配时优先清除客户端缓存
  • 网络测试确认端口连通性

参考文章

https://blog.csdn.net/weixin_53510183/article/details/143257158
https://halo.blog360.sbs/archives/rustdesk-kai-yuan-yuan-cheng-zhuo-mian-ruan-jiahe-shi-yong-jiao-cheng
https://rustdesk.com/docs/zh-cn/self-host/
https://blog.csdn.net/m0_74823611/article/details/146158064


网站公告

今日签到

点亮在社区的每一天
去签到