【转】RustDesk自建Server搭建

原帖地址:https://vincent-233.github.io/2025/07/11/rustdesk-setup/

目录:

在没有公网IP的情况下想远程访问家里的电脑,网上有很多方法,之前也用过TeamViewer和向日葵,均需要注册账号,免费版会有更多限制,而且有广告,体验并不好。正好最近阿里云vps搞活动,于是准备入手一台搭建 RustDesk 使用。本文记录下本人的搭建过程。

安装rustdesk-server

本人买的ubuntu镜像的阿里云vps,按官网推荐的 docker 方式安装server,也有其他安装选项,可自行选择。
远程SSH登陆vps后安装Docker:

# step 1: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# step 2: 安装GPG证书
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# Step 3: 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# Step 4: 更新并安装 Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce

然后生成 docker compose 文件模版:

wget rustdesk.com/oss.yml -O compose.yml

生成的模版文件内容如下,可按需修改参数,比如存放日志和密钥信息的目录参数 volumes 以及 image 版本

services:
  hbbs:
    container_name: hbbs
    image: rustdesk/rustdesk-server:latest
    command: hbbs
    volumes:
      - ./data:/root
    network_mode: "host"

    depends_on:
      - hbbr
    restart: unless-stopped

  hbbr:
    container_name: hbbr
    image: rustdesk/rustdesk-server:latest
    command: hbbr
    volumes:
      - ./data:/root
    network_mode: "host"
    restart: unless-stopped

确认好配置文件之后,运行 docker 命令启动服务:

docker compose up -d

用 docker ps 确认容器运行状态,若一切正常会在 data 目录下生成几个文件,其中有一个id_ed25519.pub 为公钥,记下其内容,后面需要配置在 rustdesk 客户端中。

vps 开放相关端口

在云端控制台配置防火墙规则,开放 tcp 的 21114 到 21119 端口,以及 udp 的 21116 端口。 

vps机器上也开启一下端口:

ufw allow 21114:21119/tcp
ufw allow 21116/udp
sudo ufw enable

配置客户端

主控和被控端下载对应平台的客户端后安装,两边都配置上vps的公网IP和上面第一步服务启动时生成的公钥,即可正常使用

问题与解决

在国内的网络环境下,多少会遇到一些问题,这里记录一下我遇到的问题和解决办法

  • docker compose 报错,镜像拉取超时
    国内网络无法顺畅连官方docker hub,需加入阿里云的 docker 镜像源,甚至加入其它第三方源。
    镜像源配置文件路径为 /etc/docker/daemon.json,按如下格式配置:{ "registry-mirrors": [ "https://xxxxx.mirror.aliyuncs.com" ,"https://docker.m.daocloud.io" ] }
  • docker compose启动成功,但无法生成公钥文件用 docker compose logs 查看日志之后发现报错:ERROR … Registered email required (-m option). Please pay and register on https://rustdesk.com/server.原因是阿里镜像源的latest版本太过老旧,建议修改为指定版本,我目前用1.1.14版本没问题, 将上述 compose.yml 文件中的 latest 修改为1.1.14或其它较新版本后正常。

其它说明

  • 如何确认从第三方网站拉取的镜像和官方的一致?担心第三方镜像不安全的,可检查镜像的digest的属性,核对一致说明镜像和官方一致。
    rustdesk-server:1.1.14版本为例,运行命令 docker images --digests 可获取DIGEST值,与官网上的INDEX DIGEST的值进行对比。
  • 如何判断连接是直接还是通过 Relay Server 中转?鼠标放到连接 session 的标签页上即可出现 direct 还是 Relayed 的字样 
  • 远程到家里电脑还有别的方式推荐吗?
    如果是控制Windows电脑,还可用Tailscale等工具异地组网之后直接通过Microsoft Remote Desktop进行连接

参考链接

https://developer.aliyun.com/article/110806
https://github.com/rustdesk/rustdesk-server/issues/45
https://github.com/DaoCloud/public-image-mirror
https://www.cnblogs.com/ryanyangcs/p/18186163

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇