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

最近需要用到远程工具解决用户问题,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-worldecho "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客户端

  • Windows: https://github.com/rustdesk/rustdesk/releases
  • macOS: 同上
  • Android/iOS: 应用商店搜索"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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/89923.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/89923.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

datasophon安装doris问题排除记录

datasophon安装doris搞了好久才成功,特别记录一下。 多灾多难的安装过程:FE安装 首先,配置界面,要注意两个参数一定要改成正确的网段,否则会被识别成127.0.0.1注意:两个priority_networks 参数必须要改成你…

suricata新增Mysql告警规则处理

suricata新增Mysql告警规则处理协议解析后续处理内容新增规则规则解析关键字新增Setup用于初始化检测项Free用于资源释放AppLayerTxMatch用于协议解析完成后的规则检测针对pcap文件进行检测总结协议解析后续处理内容 经过Mysql协议解析处理流程 介绍,我们在suricat…

使用位运算优化 Vue.js 应用:高效状态管理技巧

在 Vue.js 开发中,位运算(Bitwise Operations)是一种高效的工具,尤其适用于需要管理大量布尔状态或优化性能的场景。位运算通过操作二进制位来实现状态的存储和检查,相比传统的数组或对象操作,内存占用更低…

【Java SE】Clonable接口和深拷贝

目录 一.Clonable接口 实现步骤: 完整代码: 二.深拷贝 实现步骤: 完整代码: 浅拷贝与深拷贝的对比 使用场景建议 完 浅拷贝(Shallow Copy)和深拷贝(Deep Copy)是对象复制的两…

accelerate 在Pycham中执行的设置方法

背景 使用 accelerate 进行分布式代码训练时,需要在pycharm中进行调试,此时需要在pycharm中运行。 终端执行命令 # *[Specify the config file path and the GPU devices to use] export CUDA_VISIBLE_DEVICES0# *[Specify the config file path] expo…

探索量子计算与法律理论的交叉领域

文章目录 前言 一、引言 二、内容 (一)知识产权 (二)隐私与安全 (三)责任认定 (四)证据与证明 (五)法律推理与决策 三、结论 总结 前言 随着量子计算技术的突破性发展,其引发的法律范式重构问题日益凸显。乌兹别克斯坦学者伊索姆别克・阿卜迪哈基莫夫于2024年在《量…

js迭代器

文章目录前言实现原理:调用迭代器自制迭代器前言 迭代器是 JSt 中一种特殊的对象,它提供了一种统一的、通用的方式遍历个各种不同类型的数据结构。 可以遍历的数据结构包括:数组、字符串、Set、Map 等可迭代对象。我们也可以自定义实现迭代器…

chainlink VRF中文教程(含mock),解决error: Arithmetic Underflow in createSubscription

⸻我使用的版本:chainlink-brownie-contracts version:1.3.0⸻1. Import 相关包 ,,, import {VRFConsumerBaseV2Plus} from "chainlink/contracts/src/v0.8/vrf/dev/VRFConsumerBaseV2PLUS.sol"; import {VRFV2PlusClient} from "chainlink/contract…

非线性优化框架CasADi工具箱求解最优控制问题OCP

CasADi是一个开源的Python/MATLAB库,主要用于数值优化,特别是最优控制问题。它提供了一个易于使用的符号框架,用于处理和生成表达式,以及高效地生成导数信息。 https://web.casadi.org/get/https://web.casadi.org/get/ 所有OCP…

Type-C接口台式显示器:LDR6021引领新潮流

Type-C单口便携显示器LDR6021是市场上一种新兴的显示设备,以下是对其的详细介绍一、主要特点 便携性:LDR6021采用了Type-C接口作为数据传输和供电接口,这种设计使得它能够与各种支持Type-C接口的设备无缝连接,如笔记本电脑、智能手机、平板电…

在翻译语义相似度和会议摘要相似度评估任务中 ,分类任务 回归任务 生成任务区别

在翻译语义相似度(Translation Semantic Similarity)和会议摘要相似度(Meeting Summary Similarity)等任务中,通常会根据任务的目标和输出形式,将其划分为三类常见的任务类型:1. 分类任务定义&a…

UGUI 性能优化系列:第二篇——Canvas 与 UI 元素管理

UGUI 性能优化系列:第一篇——基础优化与资源管理 UGUI 性能优化系列:第二篇——Canvas 与 UI 元素管理 UGUI 性能优化系列:第三篇——渲染与像素填充率优化 UGUI 性能优化系列:第四篇——高级优化与注意事项 在 UGUI 性能优化…

企业开发转型 | 前端AI化数字化自动化现状

文章目录前端AI化数字化自动化发展现状引言调研背景与目的调研范围与方法前端AI化技术现状与工具生态主流AI工具分类与能力矩阵工具能力对比分析关键能力指标深度解析大模型技术成熟度评估前端AI化核心应用场景与人力优化路径代码生成与自动化开发设计到代码全链路自动化自动化…

Mysql(运维-日志)

黑马mysql笔记 最好开两个窗口,一个用于mysql命令,一个用于liunx命令 目录 错误日志 二进制日志 介绍 日志格式 mysq默认二进制日志文件为ROW 日志查看 二进制日志查看命令 默认日志文件格式下查看日志内容 更改日志文件格式查看日志内容 日志…

RabbitMQ:解锁高效消息传递的密码[特殊字符]

目录 一、RabbitMQ 核心概念 1.1整体框架 1.2元素详解 1.2.1 生产者(Producer)&消费者(Consumer) 1.2.2 交换机(Exchange) ①fanout (广播型) ②direct (直连型…

StarRocks × MinIO:打造灵活高效的存算分离方案

“存算分离”(Decoupled Storage and Compute)是一种在现代数据系统中被广泛采用的架构设计。它将计算和存储解耦,使二者可以独立扩展,提升资源利用率并降低运维成本。StarRocks 从 3.0 版本开始支持这一架构,允许用户…

R语言的分位数回归实践技术高级应用

回归是科研中最常见的统计学研究方法之一,在研究变量间关系方面有着极其广泛的应用。由于其基本假设的限制,包括线性回归及广义线性回归在内的各种常见的回归方法都有三个重大缺陷:(1)对于异常值非常敏感,极少量的异常值可能导致结…

Tomcat的部署、单体架构、session会话、spring

一、Tomcat的部署①②③④⑤二.web项目在tomcat服务中如何运行:1.web项目源码部署在服务器的webapps目录里面2.将web项目打包(war),部署在服务器的webapps目录里面。三 单体架构和前后端分离单体架构是将所有功能模块(包括前端界面、后端逻辑、数据库交互…

海康威视视觉算法岗位30问及详解

海康威视视觉算法岗位30问及详解 前言 视觉算法工程师是人工智能领域的热门岗位,尤其在安防、自动驾驶、工业检测等行业有着广泛应用。海康威视作为行业龙头,对视觉算法岗位的要求较高,面试问题既考察基础理论,也关注工程实现。本…

14.7 Alpaca格式深度解析:3倍指令准确率提升的LLM微调秘诀

文章目录 Alpaca格式深度解析:3倍指令准确率提升的LLM微调秘诀 指令微调格式:Alpaca Format 深度解析 14.3.1 Alpaca 格式诞生背景与技术价值 14.3.2 Alpaca 格式结构解析 14.3.3 实战 Dolly-15K 数据转 Alpaca 格式 14.3.4 Alpaca 格式的工程化实践 14.3.5 格式扩展与挑战应…