RustDesk 部署

温馨提醒

服务说明

RustDesk 是一个远程控制工具,开源跨平台,可以使用官方的服务器,也可以自建服务器使用

API/UI:监听21114(TCP)

hbbs:RustDesk ID 注册服务器,监听21115(TCP)、21116(TCP)、21118(TCP)

hbbr:RustDesk 中继服务器,监听21117(TCP)、21119(TCP)

21115 端口是 hbbs 用于 NAT 类型测试

21116 端口要同时开启 TCP 和 UDP,UDP 是 hbbs 用于 ID 注册与心跳服务,TCP 是 hbbs 用于 TCP 打洞与连接服务

21117 端口是 hbbr 用于中继服务

21118 和 21119 是为了支持网页客户端,如果不需要网页客户端,该端口可以不用开启

如果配置不加密的话,任何人配置上了我的服务器地址都可以使用我的服务了,建议开启加密连接。在启动 hbbr 和 hbbs时,增加启动参数 -k _,第一次启动时,会在目录下生成密钥对。

服务端部署

二进制方式部署

  • 安装 supervisor

    1
    2
    
    yum install epel-release -y
    yum install supervisor -y
  • 启动 supervisor

    1
    
    systemctl enable --now supervisord
  • 创建目录,下载安装包并解压到该目录

    1
    
    mkdir /usr/local/rustdesk/
  • 创建 hbbs 和 hbbr 启动文件

    vim /etc/supervisord.d/hbbs.ini

    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    [program:hbbs]
    directory=/usr/local/rustdesk/
    command = /usr/local/rustdesk/hbbs -r 116.204.110.64:21117 -k _
    autostart = true
    startsecs = 5
    autorestart = true
    startretries = 3
    stdout_logfile = /var/log/hbbs/stdout.log
    redirect_stderr = true

    vim /etc/superviosord.d/hbbr.ini

    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    [program:hbbr]
    directory=/usr/local/rustdesk/
    command = /usr/local/rustdesk/hbbr -k _
    autostart = true
    startsecs = 5
    autorestart = true
    startretries = 3
    stdout_logfile = /var/log/hbbr/stdout.log
    redirect_stderr = true
  • 启动服务

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    
    # 更新配置
    supervisord update
    
    # 停止服务
    supervisord stop hbbs
    
    # 启动服务
    supervisord start hbbs
    
    # 重启服务
    supervisord restart hbbs

Docker 方式部署

vim docker-compose.yml

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
version: "3"

services:
  hbbs:
    container_name: hbbs
    ports:
      - 21115:21115
      - 21116:21116
      - 21116:21116/udp
      # - 21118:21118
    image: rustdesk/rustdesk-server:1.1.14
    # 填入个人域名或 IP + hbbr 暴露端口
    command: hbbs -r 116.204.110.64:21117
    volumes:
      # 自定义挂载目录,和 hbbr 必须共用同一个目录
      - ./data:/root
    networks:
      - rustdesk-net
    depends_on:
      - hbbr
    restart: unless-stopped

  hbbr:
    container_name: hbbr
    ports:
      # 自定义 hbbr 映射端口
      - 21117:21117
    image: rustdesk/rustdesk-server:1.1.14
    command: hbbr
    volumes:
      # 自定义挂载目录,和 hbbs 必须共用同一个目录
      - ./data:/root
    networks:
      - rustdesk-net
    restart: unless-stopped
          
networks:
  rustdesk-net:
    external: false

执行 docker-compose up -d,启动服务

部署 UI 界面

镜像地址: https://hub.docker.com/r/lejianwen/rustdesk-api

项目地址: https://github.com/lejianwen/rustdesk-api

vim docker-compose.yml

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
version: '3'

services:
  rustdesk-api:
    container_name: rustdesk-api
    # 替换为这个可用的镜像
    image: lejianwen/rustdesk-api:latest
    environment:
      - TZ=Asia/Shanghai
      # 这里的 IP 必须填公网 IP,用于生成客户端配置
      - HOST=116.204.110.64
      # 数据库连接信息(默认使用 sqlite,无需修改)
      - DB_URL=sqlite:////app/data/db.sqlite3
      # mysql
      # - DB_URL=mysql://root:123456@192.168.1.100:3306/rustdesk
      # postgresql
      # - DB_URL=postgres://user:password@localhost:5432/rustdesk
    volumes:
      - ./api:/app/data
    ports:
      - "21114:21114"
    restart: always

启动:docker-compose up -d

浏览器访问: http://116.204.110.64:21114

用户名:admin

密码:查看容器日志,会生成默认密码 登录成功后,修改密码 image-20260122165204934

登录成功后,查看已经连接的设备 image-20260122165204934

登录 RustDesk 客户端工具 image-20260122165204934

输入用户名和新密码登录 image-20260122165223514

登录成功后 image-20260122165223514

客户端部署

下载客户端

1
https://github.com/rustdesk/rustdesk/releases

配置

设置 -> 网络 -> ID/中继服务器

1

ID服务器:填写 RustDesk 服务器地址

Key:填写 /usr/local/rustdesk/id_xxx.pub 文件中的内容(如果是docker部署的,填写 ./data/id_edxxx.pub中的内容)

2

设置固定密码

3

当出现就绪时,就说明已经成功连接到服务器端了

4