前言:ToDesk 不支持自建通道,免费版有连接次数、时长限制,对于需要稳定远程控制(Windows访问Ubuntu)的场景,RustDesk 绝对是最优解——完全开源免费、支持阿里云服务器自建私有通道,数据走自己的云服务器,不限时长、不限连接次数,速度和稳定性远超免费版远程工具。

本文全程实操,涵盖:阿里云服务器(Ubuntu系统)部署RustDesk服务端(自建通道核心)、Ubuntu被控端安装配置、Windows主控端安装配置,所有命令和步骤均实测可用,新手也能一步到位,避开所有常见坑。

环境说明:

  • 云服务器:阿里云ECS(Ubuntu 20.04/22.04,推荐2核2G及以上,有公网IP)

  • 被控端:Ubuntu 20.04/22.04(需要被Windows远程访问的机器)

  • 主控端:Windows 10/11(用于远程控制Ubuntu的机器)

  • 核心需求:自建RustDesk通道,Windows通过阿里云私有服务器远程访问Ubuntu,不依赖官方节点,数据更安全。

一、前期准备:阿里云服务器基础配置(关键避坑)

重点:RustDesk自建通道需要阿里云服务器开放指定端口,否则后续服务启动、客户端连接都会失败,这是新手最容易踩的坑!

1. 阿里云ECS服务器登录

1. 登录阿里云控制台:https://ecs.console.aliyun.com/

2. 找到自己的ECS实例,确认服务器状态为「运行中」,记录服务器的「公网IP」(后续所有配置都需要用到)。

3. 远程登录服务器(推荐Xshell或阿里云自带的「远程连接」),登录用户为root(或有sudo权限的用户),登录密码为服务器创建时设置的密码。

2. 阿里云安全组端口放行(核心步骤)

RustDesk服务端需要用到TCP和UDP端口,必须在阿里云安全组中放行,否则外部(Windows、Ubuntu)无法连接到服务器的RustDesk服务,这是自建通道成功的前提。

操作步骤:

  1. 阿里云ECS控制台 → 选中目标服务器 → 左侧菜单栏「安全组」→ 点击当前服务器关联的安全组ID。

  2. 进入安全组详情页 → 「入方向」→ 「手动添加」,依次添加以下2条规则(出方向默认放行所有,无需额外配置):

规则方向

协议类型

端口范围

授权对象

说明

入方向

TCP

21114-21119

0.0.0.0/0

RustDesk核心TCP端口,用于ID服务、中继服务通信

入方向

UDP

21116

0.0.0.0/0

RustDesk NAT打洞UDP端口,提升连接速度

注意:授权对象「0.0.0.0/0」表示允许所有IP访问,适合测试和个人使用;如果是企业使用,建议改为指定IP(如Windows主控端的公网IP),提升安全性。

3. 添加完成后,等待1-2分钟(安全组规则生效有延迟),继续下一步。

3. 服务器系统端口放行(可选但推荐)

除了阿里云安全组,Ubuntu系统自身的防火墙(ufw)也需要放行对应端口,避免系统层面拦截连接,执行以下命令:

# 放行TCP端口21114-21119
sudo ufw allow 21114:21119/tcp
# 放行UDP端口21116
sudo ufw allow 21116/udp
# 启用防火墙(如果未启用)
sudo ufw enable
# 查看防火墙规则,确认端口已放行
sudo ufw status

二、阿里云服务器(Ubuntu)部署RustDesk服务端(自建通道核心)

RustDesk服务端由两部分组成:hbbs(ID注册服务)和hbbr(中继服务),部署完成后,所有客户端(Windows、Ubuntu)都将通过这台阿里云服务器建立连接,实现私有通道通信。

推荐两种部署方式,新手优先选择「一键脚本部署」(简单快捷,自动配置开机自启),熟悉Linux的可以选择「手动部署」(更灵活)。

一键脚本部署(新手首选)

脚本会自动下载RustDesk服务端、配置环境、启动服务,并设置开机自启,无需手动干预,复制以下命令依次执行即可:

# 1. 下载一键安装脚本(国内加速,避免GitHub下载缓慢)
wget https://ghfast.top/https://raw.githubusercontent.com/techahold/rustdeskinstall/master/install.sh -O install.sh

# 2. 赋予脚本执行权限
chmod +x install.sh

# 3. 执行脚本,按提示确认(两次确认,直接按回车即可)
sudo ./install.sh

脚本执行说明:

  • 脚本会自动识别服务器架构(amd64/arm),下载对应版本的RustDesk服务端。

  • 安装过程中会提示两次确认,直接按回车即可,无需修改配置。

  • 脚本会自动将hbbs和hbbr注册为systemd服务,实现开机自启,重启服务器后服务会自动恢复。

  • 安装完成后,会在日志中输出「Key」(密钥),务必复制保存(后续客户端配置需要用到,丢失会导致无法连接)。

4. 服务端状态验证(必做)

部署完成后,执行以下命令,确认服务正常运行,否则客户端无法连接:

# 查看服务状态
sudo systemctl status rustdesksignal
sudo systemctl status rustdeskrelay
# 查看端口监听情况(确认21114-21119、21116端口已监听)
ss -tunlp | grep -E '2111(4-9)|21116'

正常状态:服务显示「active (running)」,端口监听列表中能看到对应端口,说明服务端部署成功。

补充:如果服务启动失败,大概率是端口未放行(重新检查阿里云安全组和系统防火墙),或密钥填写错误。

三、Ubuntu被控端(需要被远程访问的机器)安装与配置

Ubuntu机器作为被控端,需要安装RustDesk客户端,并配置自建通道(关联阿里云服务器),步骤如下:

1. 下载并安装RustDesk客户端

Ubuntu系统直接通过命令行安装(适配所有Ubuntu版本),复制命令依次执行:

# 下载RustDesk客户端deb包(64位系统)
wget https://github.com/rustdesk/rustdesk/releases/download/1.4.6/rustdesk-1.4.6-x86_64.deb

# 安装deb包
sudo dpkg -i rustdesk-1.4.6-x86_64.deb

# 修复依赖(如果安装失败,执行此命令)
sudo apt -f install

安装完成后,在Ubuntu应用列表中找到「RustDesk」,打开即可。

2. 被控端配置自建通道(关联阿里云服务器)

打开RustDesk客户端后,进行以下配置(核心:让被控端接入阿里云的RustDesk私有通道):

  1. 打开RustDesk → 点击右上角「菜单」(三个点)→ 选择「网络」。

  2. 点击「解锁网络设置」(无需输入密码,直接解锁)。

  3. 填写以下3项信息(关键,必须和阿里云服务端一致):

    1. ID服务器:填写阿里云服务器的「公网IP」(无需加端口,默认端口21114)

    2. 中继服务器:填写阿里云服务器的「公网IP:21117」(必须加端口21117)

    3. Key:填写阿里云服务端部署时生成的「密钥」(一键脚本或手动部署时设置的密钥)

  4. 点击「确定」保存配置,配置生效后,客户端会自动刷新,生成新的「设备ID」和「临时密码」(临时密码每次重启客户端会变化)。

  5. (可选,推荐)设置固定密码:点击RustDesk客户端「设置」→ 「安全」→ 勾选「启用安全密码」,设置一个固定密码(后续Windows远程连接时,用这个固定密码,无需每次记临时密码)。

补充:如果Ubuntu使用Wayland显示服务器,RustDesk可原生支持,无需额外配置;若出现远程无法解锁屏幕的问题,可通过SSH连接Ubuntu后,执行命令 loginctl unlock-sessions 远程解锁屏幕。

四、Windows主控端(远程控制端)安装与配置

Windows机器作为主控端,安装RustDesk客户端后,配置自建通道,即可远程连接Ubuntu被控端,步骤如下:

1. 下载并安装RustDesk客户端

1. 访问RustDesk官方下载页:https://rustdesk.com/

2. 下载Windows版本(64位),点击安装包,一路下一步(默认安装即可,无需修改配置)。

3. 安装完成后,自动启动RustDesk客户端,无需重启电脑。

2. 主控端配置自建通道(和被控端一致)

Windows客户端配置和Ubuntu被控端完全一致,目的是让Windows接入阿里云的私有通道,步骤如下:

  1. 打开RustDesk客户端 → 点击右上角「菜单」(三个点)→ 选择「网络」。

  2. 点击「解锁网络设置」(输入Windows登录密码,或直接点击解锁)。

  3. 填写和Ubuntu被控端相同的信息:

    1. ID服务器:阿里云服务器公网IP

    2. 中继服务器:阿里云服务器公网IP:21117

    3. Key:阿里云服务端的密钥

  4. 点击「确定」保存,配置生效后,客户端会自动刷新。

3. Windows远程连接Ubuntu(最终测试)

配置完成后,即可实现Windows远程控制Ubuntu,步骤超简单:

  1. 在Ubuntu被控端,打开RustDesk,记录「设备ID」(或复制ID)。

  2. 在Windows主控端,打开RustDesk,在「伙伴ID」输入框中,粘贴Ubuntu的「设备ID」。

  3. 点击「连接」,弹出密码输入框,输入Ubuntu被控端设置的「固定密码」(或临时密码)。

  4. 点击「确定」,等待1-3秒,即可成功连接,此时Windows屏幕会显示Ubuntu的桌面,可正常操作(复制粘贴、文件传输、远程操作等)。

补充:如果连接失败,优先检查3点:① 阿里云安全组端口是否放行;② 服务端hbbs、hbbr服务是否正常运行;③ 客户端(Windows、Ubuntu)的ID服务器、Key是否填写正确。

五、常见问题及解决方案(避坑汇总)

1. 问题:Windows连接Ubuntu时,提示「无法连接到服务器」

解决方案:

  • 检查阿里云安全组,确认TCP 21114-21119、UDP 21116端口已放行。

  • 检查阿里云服务器的hbbs、hbbr服务是否正常运行(执行sudo systemctl status rustdesk-hbbs)。

  • 检查Windows、Ubuntu客户端的ID服务器、Key是否填写正确,密钥大小写敏感。

2. 问题:Ubuntu被控端安装后,无法打开RustDesk

解决方案:执行sudo apt -f install修复依赖,或重新下载deb包安装,确保下载的版本和Ubuntu系统架构一致(64位对应amd64)。

3. 问题:连接成功后,画面卡顿、操作延迟

解决方案:

  • 检查阿里云服务器带宽(推荐1M以上,带宽越高,画面越流畅)。

  • Windows客户端连接时,点击「画质」,选择「平衡」或「流畅」(降低画质可减少延迟)。

  • 若两台机器在同一局域网,可开启「直接IP访问」,直接P2P连接,无需经过阿里云服务器,速度更快。

4. 问题:服务器重启后,RustDesk服务无法自动启动

解决方案:确认已配置开机自启(一键脚本部署默认已配置,手动部署需执行sudo systemctl enable rustdesk-hbbs rustdesk-hbbr),重启后执行sudo systemctl status rustdesk-hbbs查看服务状态。

六、总结

本文完成了从阿里云服务器部署RustDesk服务端(自建私有通道),到Ubuntu被控端、Windows主控端的安装、配置、连接全流程,核心优势:

  • 完全免费:开源软件,无连接次数、时长限制,终身可用。

  • 私有通道:所有数据走自己的阿里云服务器,不经过第三方,安全性高。

  • 跨平台适配:完美支持Windows控制Ubuntu,也可反向控制,全平台通用。

  • 稳定流畅:自建通道不受官方节点限制,速度取决于阿里云服务器带宽,可按需升级。

所有步骤均实测可用,命令可直接复制粘贴,新手也能快速上手。如果遇到其他问题,可在评论区留言,会及时回复解决!

补充:如果需要实现多台Ubuntu被控端同时被控制,只需在每台Ubuntu机器上安装RustDesk,配置相同的ID服务器、Key即可,无需重复部署阿里云服务端。