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
相关推荐
手揽回忆怎么睡1 小时前
Ubuntu 22.04 64位安装MinIO
linux·前端·ubuntu
Web极客码2 小时前
如何在WordPress中添加动态内容
服务器·前端·wordpress
星恒随风2 小时前
Linux 权限详解:从 rwx、chmod 到 umask、目录权限与粘滞位
linux·运维·服务器·笔记·学习
阳光九叶草LXGZXJ3 小时前
达梦数据库-报错-12-[-7184]:对象定义[XXX]被修改,版本检查失败
linux·运维·服务器·数据库·sql·学习
JXCY13S5053 小时前
集群及lvs基础知识
运维·服务器
j7~4 小时前
【Linux】二十六.线程篇三《Linux多线程编程:线程控制、线程ID以及进程地址空间分布、线程局部存储__thread以及clone系统调用》---详解
linux·运维·服务器·开发语言·c++·多线程编辑·线程的控制
PC2005-cloud11 小时前
博文已索引但不展示:一次 Bing SEO 问题排查记录
服务器·人工智能
沸速存储11 小时前
整机瓶颈判断思路,自上而下定位卡顿根源
运维·服务器·电脑·内容运营
乌萨奇也要立志学C++12 小时前
【Linux】网络基础 从零理解网络通信:局域网、跨网传输与 Socket 预备知识
linux·服务器·网络