找回密码
 立即注册
首页 业界区 业界 腾讯云锐驰型轻量服务器搭建开源远程桌面软件RustDesk中 ...

腾讯云锐驰型轻量服务器搭建开源远程桌面软件RustDesk中继服务器小记

祖柔惠 2025-6-4 21:39:39
RustDesk是一个基于Rust编写的全平台开源远程桌面软件,其最大的特点为开箱即用,且数据完全自主掌控,甚至可以依托此项目定制化开发自己专属的远程桌面软件。
一、前言

由于我个人经常性出差,对远程桌面软件有强需求,而微软自带的RDP并不能完全满足我的需求,且国内的向日葵/ToDesk/TeamViewer的定价与吃相属实太过美丽,所以目光转向了开源的方案,最终敲定为RustDesk的原因是没有带宽分辨率限制(你也不想720P的远程分辨率吧),且拥有较为完善的第三方WebUI管理后台。
二、服务器准备

由于腾讯云近期推出了锐驰型轻量应用服务器,拥有200M不限流量的大带宽国内网络,这极大的满足了我对大带宽的需求,所以我也是迫不及待的申请内测试了下。定价相对来说还算不错,此次使用的是2C1G的套餐,月付40元。以下为配置清单:

  • 操作系统模板:Ubuntu 24.04 LTS
  • 地域:上海(可根据自身需求选择地域位置)
  • 套餐类型:锐驰型
  • 套餐配置:2C 1G 40G 200Mbps
  • 活动购买直达链接:点此前往
  • 目前看来锐驰套餐的缺点是CPU抽奖,我运气比较好直接开出了AMD 7K62的CPU,如果开出 Intel的建议删了重开……
三、环境准备

在购买完成且服务器已自动初始化完成运行后,我们可以直接使用腾讯云自带的OrcaTerm一键登录,无需下载第三方SSH客户端。
1.png

2.png

登录成功后,执行以下命令更新软件包
  1. sudo su
  2. apt update -y
  3. apt upgrade -y
复制代码
安装Docker&Docker-Composer
  1. sudo apt-get update
  2. sudo apt-get install ca-certificates curl -y
  3. sudo install -m 0755 -d /etc/apt/keyrings
  4. sudo curl -fsSL https://mirrors.cloud.tencent.com/docker-ce/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
  5. sudo chmod a+r /etc/apt/keyrings/docker.asc
  6. echo   "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://mirrors.cloud.tencent.com/docker-ce/linux/ubuntu/ \
  7.   $(. /etc/os-release && echo "$VERSION_CODENAME") stable" |   sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  8. sudo apt-get update
  9. sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
复制代码
查看安装是否成功
  1. docker info
复制代码
3.png

出现以上内容则代表安装成功
软连接docker-composer
  1. ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/local/bin/docker-compose
复制代码
查看软连接是否正常
  1. docker-composer -v
复制代码
4.png

出现以上内容即代表成功安装
配置腾讯云Docker镜像源
由于Docker在国内的公共镜像源服务因政策被下线,所以只能使用腾讯云内网的Docker镜像源
执行以下命令,打开 /etc/docker/daemon.json 配置文件。
  1. vim /etc/docker/daemon.json
复制代码
按 i 切换至编辑模式,添加以下内容,并保存。
  1. {
  2.    "registry-mirrors": [
  3.    "https://mirror.ccs.tencentyun.com"
  4.   ]
  5. }
复制代码
执行以下命令重启 Docker 即可
  1. systemctl restart docker
复制代码
四、配置中继服务器

创建目录
  1. mkdir /home/rustdesk
复制代码
创建HBBR/HBBS 服务

创建docker-composer.yml文件
  1. cd /home/rustdesk
  2. vi docker-compose.yml
复制代码
  1. networks:
  2.   rustdesk-net:
  3.     external: false
  4. services:
  5.   hbbs:
  6.     container_name: hbbs
  7.     ports:
  8.       - 21115:21115  # NAT-Test
  9.       - 21116:21116 # TCP-Connect
  10.       - 21116:21116/udp # ID&Heart
  11.       - 21118:21118 #web-client
  12.     image: rustdesk/rustdesk-server
  13.     command: hbbs -r xx.example.com -k abc123456 # 填入个人域名或 IP + hbbr 暴露端口
  14.     volumes:
  15.       - /home/rustdesk:/root # 自定义挂载目录
  16.     networks:
  17.       - rustdesk-net
  18.     depends_on:
  19.       - hbbr
  20.     restart: unless-stopped
  21.     deploy:
  22.       resources:
  23.         limits:
  24.           memory: 64M
  25.   hbbr:
  26.     container_name: hbbr
  27.     ports:
  28.       - 21117:21117 # 中继
  29.       - 21119:21119 #web-client
  30.     image: rustdesk/rustdesk-server
  31.     command: hbbr -k abc123456
  32.     volumes:
  33.       - /home/rustdesk:/root # 自定义挂载目录
  34.     networks:
  35.       - rustdesk-net
  36.     restart: unless-stopped
  37.     deploy:
  38.       resources:
  39.         limits:
  40.           memory: 64M
复制代码
保存后,执行docker-composer up -d动容器
注意事项

在第一次启动HBBR/HBBS服务时,当前的新版本会自动创建两个key文件id_ed25519和id_ed25519.pub,此文件用于链接的加密,以及ID服务器的授权认证。
当前版本中,被控端可不输入key,而控制端则强制要求key的存在。
由于第三方API在Key的加密上存在一定的问题,所以如果要使用第三方客户端,则必须在hbbs启动命令中带有-k的指定密钥参数即可修正此问题。而使用了-k命令,则不会使用服务器自动创建的两个密钥对文件。
此问题仅存在于第三方API上,如果不使用第三方API则无需增加。参考以下Issue

  • 关于PC端链接超时或者链接不上的问题以及解决方案 | About the problem of timeout or connection failure on PC and how to solve it · Issue #92 · lejianwen/rustdesk-api
五、软件配置

由于版本更新较快,本次客户端配置仅限Windws x64 1.3.7 版本
Rustdesk支持免安装控制/被控,但由于Windows系统原因,如果想要开机自启等一系列进阶功能,则仍需要安装后使用。安装完成后,点击右上角的设置按钮进行ID服务器配置。
5.png

6.png

点开ID/中继服务器后,在ID服务器中输入服务器IP+端口或者自定义域名即可,Key为hbbs中-k后指定的字符串。
六、RustDesk WebUI/API配置(可选)

RustDesk API是一个 Go 实现的 Rustdesk API 接口,支持简单的 Web Admin 和 Web 客户端功能。
由于官方的Pro版本对个人来说有些昂贵,而社区版本并不带有WebUI等功能,所以我们这里可以使用第三方的WebUI来进行简单的客户端管理。
推荐使用此项目:https://github.com/lejianwen/rustdesk-api
修改docker-composer.yml件
使用docker-composer down止容器,修改docker-composer.yml如下所示(完整配置)
  1. networks:
  2.   rustdesk-net:
  3.     external: false
  4. services:
  5.   hbbs:
  6.     container_name: hbbs
  7.     ports:
  8.       - 21115:21115  # NAT-Test
  9.       - 21116:21116 # TCP-Connect
  10.       - 21116:21116/udp # ID&Heart
  11.       - 21118:21118 #web-client
  12.     image: rustdesk/rustdesk-server
  13.     command: hbbs -r 122.152.219.191:21116 -k abc123456 # 填入个人域名或 IP + hbbr 暴露端口
  14.     volumes:
  15.       - /home/rustdesk:/root # 自定义挂载目录
  16.     networks:
  17.       - rustdesk-net
  18.     depends_on:
  19.       - hbbr
  20.     restart: unless-stopped
  21.     deploy:
  22.       resources:
  23.         limits:
  24.           memory: 64M
  25.   hbbr:
  26.     container_name: hbbr
  27.     ports:
  28.       - 21117:21117 # 中继
  29.       - 21119:21119 #web-client
  30.     image: rustdesk/rustdesk-server
  31.     command: hbbr -k abc123456
  32.     volumes:
  33.       - /home/rustdesk:/root # 自定义挂载目录
  34.     networks:
  35.       - rustdesk-net
  36.     restart: unless-stopped
  37.     deploy:
  38.       resources:
  39.         limits:
  40.           memory: 64M
  41.   rustdesk-api:
  42.     container_name: rustdesk-api
  43.     environment:
  44.       - TZ=Asia/Shanghai
  45.       - RUSTDESK_API_LANG=zh-CN
  46.       - RUSTDESK_API_RUSTDESK_ID_SERVER=hbbs:21116
  47.       - RUSTDESK_API_RUSTDESK_RELAY_SERVER=hbbr:21117
  48.       - RUSTDESK_API_RUSTDESK_API_SERVER=http://122.152.219.191:21114
  49.       - RUSTDESK_API_RUSTDESK_KEY=abc123456
  50.     ports:
  51.       - 21114:21114
  52.     image: lejianwen/rustdesk-api
  53.     volumes:
  54.       - /home/rustdesk/api:/app/data #将数据库挂载出来方便备份
  55.       #- /home/rustdesk/server:/app/conf/data #挂载key文件到api容器,可以不用使用 RUSTDESK_API_RUSTDESK_KEY
  56.     networks:
  57.       - rustdesk-net
  58.     restart: unless-stopped
  59.     depends_on:
  60.       - hbbs
  61.       - hbbr
复制代码
保存后,使用docker-compose up -d起动服务
查看运行状态与管理员密码
启动服务后,输入docker-compose logs查看服务输出日志,如下图所示则成功运行,日志中会输出API服务器管理员临时密码。
7.png

此时访问http://[:port]/_admin/ 可进入管理后台
8.png

此时项目部署就已彻底完成,按第五节配置软件即可进行远程链接!

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册