Ubuntu上自建RustDesk远程桌面服务器完整指南
2026/7/18 8:06:40 网站建设 项目流程

1. 项目概述

RustDesk是一款开源的远程桌面控制软件,类似于TeamViewer或AnyDesk,但完全免费且支持自建服务器。在Ubuntu系统上部署RustDesk服务器可以让你拥有完全掌控的远程访问解决方案,特别适合需要频繁远程办公或管理多台设备的用户。

我最近在一台Ubuntu 22.04 LTS服务器上成功部署了RustDesk服务端,整个过程比想象中要简单得多。相比使用官方服务器,自建服务器不仅能提高连接速度,还能确保所有数据传输都在自己的掌控之中,对于注重隐私和安全的用户来说是个不错的选择。

2. 环境准备

2.1 系统要求

在开始之前,确保你的Ubuntu系统满足以下最低要求:

  • Ubuntu 18.04或更高版本(推荐20.04/22.04 LTS)
  • 至少2GB内存(4GB以上更佳)
  • 10GB可用磁盘空间
  • 稳定的网络连接,建议有固定公网IP或配置好DDNS

提示:如果你使用的是云服务器,记得在安全组/防火墙中放行21115-21119 TCP端口和21116 UDP端口。

2.2 基础依赖安装

首先更新系统并安装必要依赖:

sudo apt update && sudo apt upgrade -y sudo apt install -y curl wget unzip gcc make

对于Ubuntu 18.04用户,还需要额外安装pipewire:

sudo apt install software-properties-common sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream sudo apt update

3. RustDesk服务器安装

3.1 下载服务器端软件

访问RustDesk GitHub发布页面获取最新版本,或直接使用wget下载:

wget https://github.com/rustdesk/rustdesk-server/releases/download/1.1.8/rustdesk-server-linux-amd64.zip unzip rustdesk-server-linux-amd64.zip

解压后会得到三个可执行文件:

  • hbbs - RustDesk ID服务器
  • hbbr - RustDesk中继服务器
  • rustdesk-utils - 实用工具

3.2 配置系统服务

创建systemd服务文件能确保服务在系统重启后自动运行。首先为hbbs创建服务:

sudo tee /etc/systemd/system/rustdesk-hbbs.service <<EOF [Unit] Description=RustDesk ID Server After=network.target [Service] Type=simple ExecStart=/path/to/hbbs WorkingDirectory=/path/to/ User=root Group=root Restart=always RestartSec=5s [Install] WantedBy=multi-user.target EOF

同样为hbbr创建服务文件,只需将"hbbs"替换为"hbbr"。然后重新加载systemd并启动服务:

sudo systemctl daemon-reload sudo systemctl enable --now rustdesk-hbbs rustdesk-hbbr

3.3 验证服务状态

检查服务是否正常运行:

systemctl status rustdesk-hbbs rustdesk-hbbr

如果一切正常,你应该能看到类似这样的输出:

● rustdesk-hbbs.service - RustDesk ID Server Loaded: loaded (/etc/systemd/system/rustdesk-hbbs.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2023-05-18 14:23:45 UTC; 5min ago

4. 网络与安全配置

4.1 防火墙设置

如果你的服务器启用了UFW防火墙,需要放行必要端口:

sudo ufw allow 21115:21119/tcp sudo ufw allow 21116/udp sudo ufw allow 22/tcp # 保留SSH访问 sudo ufw enable

4.2 密钥配置

RustDesk使用密钥对来加密通信。首次运行hbbs时会自动生成密钥文件:

  • id_ed25519
  • id_ed25519.pub

这些文件位于hbbs所在目录。pub文件中的公钥需要提供给客户端使用。

4.3 域名与SSL配置(可选)

为了更好的安全性和易用性,建议配置域名和SSL证书:

  1. 将域名A记录指向你的服务器IP
  2. 使用Let's Encrypt获取免费证书:
sudo apt install certbot sudo certbot certonly --standalone -d yourdomain.com

然后在启动hbbs/hbbr时添加SSL参数:

ExecStart=/path/to/hbbs -k _ --ssl-cert /etc/letsencrypt/live/yourdomain.com/fullchain.pem --ssl-key /etc/letsencrypt/live/yourdomain.com/privkey.pem

5. 客户端配置

5.1 下载客户端

从RustDesk官网或GitHub下载对应平台的客户端:

  • Windows: https://github.com/rustdesk/rustdesk/releases
  • macOS: 同上
  • Linux: 可使用AppImage或各发行版专用包

5.2 连接自建服务器

在客户端设置中输入你的服务器地址和公钥:

  1. 打开RustDesk客户端
  2. 点击右上角菜单 → 设置 → 网络
  3. ID服务器:你的服务器IP或域名
  4. 中继服务器:同上
  5. API服务器:留空
  6. Key:粘贴id_ed25519.pub文件内容

注意:如果使用域名且配置了SSL,记得在"高级设置"中启用"强制加密"。

6. 高级配置与优化

6.1 性能调优

对于高负载环境,可以调整以下参数:

  • 修改hbbs的线程数:hbbs -t 8(根据CPU核心数调整)
  • 增加文件描述符限制:
echo "* soft nofile 100000" | sudo tee -a /etc/security/limits.conf echo "* hard nofile 100000" | sudo tee -a /etc/security/limits.conf

6.2 监控与日志

RustDesk服务器会生成详细的日志,默认位于:

  • /var/log/rustdesk-hbbs.log
  • /var/log/rustdesk-hbbr.log

可以使用journalctl查看实时日志:

journalctl -u rustdesk-hbbs -f

6.3 备份与恢复

定期备份以下内容:

  1. 密钥文件(id_ed25519和id_ed25519.pub)
  2. 数据库文件(默认为hbbs目录下的db_v2.sqlite3)
  3. 配置文件(如果有自定义配置)

恢复时只需将这些文件放回原位置并重启服务即可。

7. 常见问题排查

7.1 连接失败

如果客户端无法连接服务器,按以下步骤排查:

  1. 检查服务器端口是否开放:telnet yourdomain.com 21115
  2. 验证服务是否运行:systemctl status rustdesk-hbbs
  3. 检查防火墙规则:sudo ufw status verbose
  4. 查看错误日志:journalctl -u rustdesk-hbbs -n 50

7.2 高延迟问题

如果遇到高延迟:

  1. 确保客户端和服务器之间的网络质量
  2. 尝试直接IP连接而非域名
  3. 在中继服务器设置中调整--relay-servers参数

7.3 屏幕黑屏

远程桌面显示黑屏可能是由于:

  1. Wayland显示服务器问题(切换到X11)
  2. 显卡驱动问题(安装专有驱动)
  3. 权限问题(确保用户有足够权限)

8. 维护与更新

当有新版本发布时,更新步骤:

  1. 下载新版服务器软件
  2. 停止现有服务:sudo systemctl stop rustdesk-hbbs rustdesk-hbbr
  3. 备份旧版文件和数据库
  4. 替换可执行文件
  5. 启动服务:sudo systemctl start rustdesk-hbbs rustdesk-hbbr

我建议设置一个定期检查更新的计划任务,可以每月检查一次GitHub发布页面。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询