前言: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服务,这是自建通道成功的前提。
操作步骤:
阿里云ECS控制台 → 选中目标服务器 → 左侧菜单栏「安全组」→ 点击当前服务器关联的安全组ID。
进入安全组详情页 → 「入方向」→ 「手动添加」,依次添加以下2条规则(出方向默认放行所有,无需额外配置):
注意:授权对象「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私有通道):
打开RustDesk → 点击右上角「菜单」(三个点)→ 选择「网络」。
点击「解锁网络设置」(无需输入密码,直接解锁)。
填写以下3项信息(关键,必须和阿里云服务端一致):
ID服务器:填写阿里云服务器的「公网IP」(无需加端口,默认端口21114)
中继服务器:填写阿里云服务器的「公网IP:21117」(必须加端口21117)
Key:填写阿里云服务端部署时生成的「密钥」(一键脚本或手动部署时设置的密钥)
点击「确定」保存配置,配置生效后,客户端会自动刷新,生成新的「设备ID」和「临时密码」(临时密码每次重启客户端会变化)。
(可选,推荐)设置固定密码:点击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接入阿里云的私有通道,步骤如下:
打开RustDesk客户端 → 点击右上角「菜单」(三个点)→ 选择「网络」。
点击「解锁网络设置」(输入Windows登录密码,或直接点击解锁)。
填写和Ubuntu被控端相同的信息:
ID服务器:阿里云服务器公网IP
中继服务器:阿里云服务器公网IP:21117
Key:阿里云服务端的密钥
点击「确定」保存,配置生效后,客户端会自动刷新。
3. Windows远程连接Ubuntu(最终测试)
配置完成后,即可实现Windows远程控制Ubuntu,步骤超简单:
在Ubuntu被控端,打开RustDesk,记录「设备ID」(或复制ID)。
在Windows主控端,打开RustDesk,在「伙伴ID」输入框中,粘贴Ubuntu的「设备ID」。
点击「连接」,弹出密码输入框,输入Ubuntu被控端设置的「固定密码」(或临时密码)。
点击「确定」,等待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即可,无需重复部署阿里云服务端。