Ubuntu阿里云服务器一键安装RustDesk指南

结论

本文使用的阿里云的ECS服务器

直接通过 SSH 登录 Ubuntu 云服务器,在终端执行 wget 命令,脚本就会下载到当前目录。

RustDesk 官方文档目前仍列出了这个 Techahold systemd 安装脚本;它会安装 hbbshbbr,并注册为 systemd 服务。Techahold 仓库说明它支持基于 Debian 的 64 位 Linux,Ubuntu 属于此范围。(RustDesk)


1. 登录你的 Ubuntu 云服务器

在 Windows PowerShell、CMD 或终端里执行:

bash 复制代码
ssh ubuntu@你的服务器公网IP

例如:

bash 复制代码
ssh ubuntu@123.123.123.123

有些云服务器默认用户可能是:

bash 复制代码
ssh root@你的服务器公网IP

或者:

bash 复制代码
ssh admin@你的服务器公网IP

登录成功后,你会看到类似:

text 复制代码
ubuntu@server:~$

2. 安装下载工具

在服务器终端执行:

bash 复制代码
sudo apt update
sudo apt install -y wget curl ca-certificates

然后创建一个安装目录:

bash 复制代码
mkdir -p ~/rustdesk-install
cd ~/rustdesk-install

3. 下载 Techahold 安装脚本

执行:

bash 复制代码
wget https://raw.githubusercontent.com/techahold/rustdeskinstall/master/install.sh -O install.sh

这里的含义是:

text 复制代码
wget          下载文件
URL           文件在 GitHub 上的位置
-O install.sh 下载后保存为 install.sh

检查是否下载成功:

bash 复制代码
ls -lh install.sh

正常应该看到类似:

text 复制代码
-rw-r--r-- 1 ubuntu ubuntu 15K Aug 2 01:30 install.sh

也可以查看脚本开头:

bash 复制代码
head -n 20 install.sh

Techahold 仓库中的脚本会识别 Ubuntu,通过 apt-get 安装依赖,然后把 RustDesk Server 下载到 /opt/rustdesk,并创建 rustdesksignal.servicerustdeskrelay.service


4. 给脚本执行权限

bash 复制代码
chmod +x install.sh

检查权限:

bash 复制代码
ls -l install.sh

应该出现:

text 复制代码
-rwxr-xr-x

其中的 x 表示可执行。


5. 推荐执行方式

方案 A:直接交互安装

bash 复制代码
./install.sh

运行后脚本会问你几个问题。

连接方式

大致会出现:

text 复制代码
Choose your preferred connection method:
1) IP
2) DNS/Domain

没有域名就输入:

text 复制代码
1

然后回车。

是否安装 HTTP 配置下载服务

脚本可能询问是否创建预配置客户端安装文件。

建议选:

text 复制代码
No

或跳过 HTTP 服务。

因为这个 HTTP 服务会额外监听 8000 端口。普通 RustDesk 客户端手动填写 IP 和 Key 即可,不需要它。Techahold 仓库也说明,只有启用预配置安装文件时才需要开放 8000/TCP。(GitHub)


方案 B:直接使用公网 IP,并且不安装 HTTP 服务

这是更省事的执行方式:

bash 复制代码
./install.sh --resolveip --skip-http

参数含义:

text 复制代码
--resolveip    自动获取服务器公网 IP
--skip-http    不安装额外的 HTTP 文件下载服务器

这些参数是当前脚本明确支持的。

我更推荐这个方式,因为它减少一个没有必要的 8000 端口和一个额外的 gohttpserver 服务。


6. 安装过程中需要输入密码怎么办

脚本内部会调用 sudo,可能出现:

text 复制代码
[sudo] password for ubuntu:

输入服务器用户密码即可。

Linux 输入密码时,屏幕不会显示星号,也不会显示字符,这是正常现象。输入完成后按回车。

不要输入:

bash 复制代码
sudo ./install.sh

更建议普通用户直接运行:

bash 复制代码
./install.sh --resolveip --skip-http

因为脚本本身会在需要权限时调用 sudo。这样创建的 RustDesk 服务会以当前普通用户运行,而不是不必要地以 root 用户运行。脚本的 systemd 配置确实会把当前执行用户写入 User=Group=

如果你本来就是使用 root 登录,则可以执行:

bash 复制代码
./install.sh --resolveip --skip-http --no-sudo

7. 安装结束后记录两个内容

安装完成时会显示类似:

text 复制代码
Your IP/DNS Address is 123.123.123.123
Your public key is xxxxxxxxxxxxxxxxxxxxxxxxxxxxx

需要记录:

text 复制代码
服务器公网 IP
Public Key 公钥

忘记保存也没关系,可以重新查看公钥:

bash 复制代码
cat /opt/rustdesk/id_ed25519.pub

注意客户端填写的是:

text 复制代码
id_ed25519.pub

不是:

text 复制代码
id_ed25519

后者是私钥,不要发送给别人。


8. 检查 systemd 服务

这个脚本创建的服务名称不是 hbbs.servicehbbr.service,而是:

text 复制代码
rustdesksignal.service
rustdeskrelay.service

检查状态:

bash 复制代码
sudo systemctl status rustdesksignal --no-pager
sudo systemctl status rustdeskrelay --no-pager

正常应看到:

text 复制代码
Active: active (running)

也可以一次查看:

bash 复制代码
systemctl is-active rustdesksignal rustdeskrelay

正常输出:

text 复制代码
active
active

重启服务:

bash 复制代码
sudo systemctl restart rustdesksignal
sudo systemctl restart rustdeskrelay

Techahold 仓库给出的服务名称和重启命令也是这两个。(GitHub)


9. 检查端口监听

执行:

bash 复制代码
sudo ss -lntup | grep -E '2111[4-9]'

至少应该看到:

text 复制代码
21115/TCP
21116/TCP
21116/UDP
21117/TCP

RustDesk 官方安装文档要求开放:

text 复制代码
TCP 21114-21119
UDP 21116

(RustDesk)


10. 配置 Ubuntu 自带防火墙

你的云安全组已经开放全部端口,但 Ubuntu 内部的 UFW 仍可能阻止连接。

先查看:

bash 复制代码
sudo ufw status

开放 RustDesk 端口:

bash 复制代码
sudo ufw allow 21115:21119/tcp
sudo ufw allow 21116/udp

确认 SSH 端口也已开放,避免把自己锁在服务器外:

bash 复制代码
sudo ufw allow 22/tcp

然后:

bash 复制代码
sudo ufw enable
sudo ufw status numbered

你的云安全组目前开放了全部端口,安装完成后建议将云安全组收紧,只开放:

text 复制代码
22/TCP          SSH,最好限制为你自己的公网 IP
21115-21119/TCP RustDesk
21116/UDP       RustDesk 打洞与心跳

没有启用 HTTP 安装文件服务,就不开放 8000/TCP


11. 配置 RustDesk 客户端

Windows RustDesk 客户端打开:

text 复制代码
设置 → 网络 → 解锁网络设置

填写:

text 复制代码
ID 服务器:你的服务器公网IP
中继服务器:留空
API 服务器:留空
Key:/opt/rustdesk/id_ed25519.pub 的完整内容

例如:

text 复制代码
ID 服务器:123.123.123.123
Key:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

官方文档说明,安装结束后把 IP/DNS 和 Key 分别填入客户端的 ID ServerKey 字段,其他字段可以留空。(RustDesk)


wget 下载失败时

先测试 GitHub:

bash 复制代码
curl -I https://raw.githubusercontent.com

然后尝试用 curl 下载:

bash 复制代码
curl -fL \
  https://raw.githubusercontent.com/techahold/rustdeskinstall/master/install.sh \
  -o install.sh

确认文件不是错误页面:

bash 复制代码
file install.sh
head -n 5 install.sh

正常第一行应该是:

bash 复制代码
#!/bin/bash

如果出现:

text 复制代码
Connection reset by peer
Could not resolve host
Operation timed out

这说明服务器到 GitHub 的出站网络或 DNS 有问题,不是命令写错。此时不要从不明镜像下载脚本,可以在本地电脑下载 install.sh,再通过 SCP 上传:

powershell 复制代码
scp .\install.sh ubuntu@服务器公网IP:/home/ubuntu/

然后在服务器执行:

bash 复制代码
cd /home/ubuntu
chmod +x install.sh
./install.sh --resolveip --skip-http

最直接的一套命令就是:

bash 复制代码
sudo apt update
sudo apt install -y wget curl ca-certificates

mkdir -p ~/rustdesk-install
cd ~/rustdesk-install

wget https://raw.githubusercontent.com/techahold/rustdeskinstall/master/install.sh -O install.sh

chmod +x install.sh
./install.sh --resolveip --skip-http

安装后验证:

bash 复制代码
systemctl is-active rustdesksignal rustdeskrelay
sudo ss -lntup | grep -E '2111[4-9]'
cat /opt/rustdesk/id_ed25519.pub
相关推荐
江南风月2 小时前
3分钟快速上手日志审计系统 WGLOG v2.2 更新了什么
运维·服务器·网络
Dawn-bit2 小时前
Linux网络进阶:TCP三次握手和四次挥手与TCP连接状态
linux·服务器·网络·tcp/ip·云计算·智能路由器
旗开得胜马到成功3 小时前
可信备份技术解析:中科热备如何防范备份数据被攻击
运维·服务器
TheBestRucy3 小时前
Python 九阳神功:从零筑基到线程飞升
服务器·开发语言·网络·人工智能·python
奈斯先生Vector4 小时前
从 127.0.0.1:3080 到插件运行时:DeepSeek Harness 远程开发与版本治理实战
linux·运维·人工智能·ubuntu·aigc
Android系统攻城狮4 小时前
Linux PipeWire深度解析之pw_stream_new调用流程与实战(七十八)
linux·运维·服务器·音频进阶·pipewire音频实战进阶
weipt6 小时前
从ollama到llama.cpp
linux·服务器·llama
s_w.h6 小时前
【 计网 】计算机网络基础
服务器·计算机网络
风流 少年8 小时前
Spring AI 2.0:阿里云百炼平台(智能体应用)
redis·spring·阿里云
怪侠_岭南一只猿9 小时前
[简单理解]小龙虾是怎么一回事?
运维·服务器·ai