docs(toolbox): 添加 RustDesk 自建远程桌面服务器教程
- 新增 RustDesk 自建远程桌面服务器的详细步骤 - 包括服务器准备、初始化、RustDesk 服务端部署、客户端配置等内容 - 提供进阶配置和常见问题解决方法 - 总结 RustDesk 的优势和使用建议
This commit is contained in:
parent
3e882c54c6
commit
9fbeb8bdfe
257
src/programming/java/工具箱/RustDesk自建远程桌面服务器.md
Normal file
257
src/programming/java/工具箱/RustDesk自建远程桌面服务器.md
Normal file
@ -0,0 +1,257 @@
|
|||||||
|
---
|
||||||
|
icon: tabler:device-desktop-analytics
|
||||||
|
date: 2025-07-04
|
||||||
|
category:
|
||||||
|
- 实用工具
|
||||||
|
tag:
|
||||||
|
- RustDesk
|
||||||
|
title: RustDesk自建远程桌面服务器
|
||||||
|
---
|
||||||
|
|
||||||
|
# RustDesk自建远程桌面服务器
|
||||||
|
|
||||||
|
## 为什么选择RustDesk?
|
||||||
|
|
||||||
|
在日常工作中,我们经常需要远程控制电脑,比如远程家中电脑进行下载、远程办公,或者帮助朋友解决技术问题。除了向日葵、QQ远程、ToDesk等商业软件,RustDesk提供了一个开源、安全、高效的替代方案。
|
||||||
|
|
||||||
|
### RustDesk的主要优势
|
||||||
|
|
||||||
|
- **安全性**:使用安全的加密通信协议,确保数据传输安全
|
||||||
|
- **跨平台**:支持Windows、macOS、Linux、Android等多个平台
|
||||||
|
- **高性能**:使用Rust编写,具有高效和并发的特点
|
||||||
|
- **低成本**:一台1C1G的服务器就能满足个人或小团队使用
|
||||||
|
|
||||||
|
## 服务器准备
|
||||||
|
|
||||||
|
### 服务器配置要求
|
||||||
|
|
||||||
|
- **Linux服务器**:推荐1C1G配置(如AWS EC2或Lightsail)
|
||||||
|
- **Windows服务器**:建议至少2C4G配置
|
||||||
|
- **网络要求**:需要开放特定端口
|
||||||
|
|
||||||
|
### 需要开放的端口
|
||||||
|
|
||||||
|
- **TCP端口**:21115, 21116, 21117, 21118, 21119
|
||||||
|
- **UDP端口**:21116
|
||||||
|
|
||||||
|
## 服务器初始化
|
||||||
|
|
||||||
|
### 1. 连接服务器
|
||||||
|
|
||||||
|
使用SSH连接服务器:
|
||||||
|
```bash
|
||||||
|
ssh admin@<服务器IP> -i <RSA密钥文件>
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. 更新系统
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 更新软件包
|
||||||
|
sudo apt update -y
|
||||||
|
|
||||||
|
# 设置时区(可选)
|
||||||
|
sudo timedatectl set-timezone Asia/Shanghai
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. 创建用户(可选)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 创建新用户
|
||||||
|
sudo useradd -m rustdesk
|
||||||
|
|
||||||
|
# 设置密码
|
||||||
|
sudo passwd rustdesk
|
||||||
|
|
||||||
|
# 切换用户
|
||||||
|
sudo su - rustdesk
|
||||||
|
```
|
||||||
|
|
||||||
|
## RustDesk服务端部署
|
||||||
|
|
||||||
|
### 1. 下载服务端程序
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 创建目录
|
||||||
|
mkdir ~/rustdesk && cd ~/rustdesk
|
||||||
|
|
||||||
|
# 下载最新版本(请到GitHub查看最新版本号)
|
||||||
|
wget https://github.com/rustdesk/rustdesk-server/releases/download/1.1.8-2/rustdesk-server-linux-amd64.zip
|
||||||
|
|
||||||
|
# 解压
|
||||||
|
unzip rustdesk-server-linux-amd64.zip
|
||||||
|
mv amd64 server
|
||||||
|
cd server
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. 测试运行
|
||||||
|
|
||||||
|
安装screen用于管理进程:
|
||||||
|
```bash
|
||||||
|
sudo apt install screen
|
||||||
|
```
|
||||||
|
|
||||||
|
启动hbbs(ID服务):
|
||||||
|
```bash
|
||||||
|
screen -S hbbs
|
||||||
|
./hbbs
|
||||||
|
# 按Ctrl+A然后按D退出screen
|
||||||
|
```
|
||||||
|
|
||||||
|
启动hbbr(中继服务):
|
||||||
|
```bash
|
||||||
|
screen -S hbbr
|
||||||
|
./hbbr
|
||||||
|
# 按Ctrl+A然后按D退出screen
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. 获取公钥
|
||||||
|
|
||||||
|
运行后会生成公钥文件,查看并复制公钥内容:
|
||||||
|
```bash
|
||||||
|
cat id_ed25519.pub
|
||||||
|
```
|
||||||
|
|
||||||
|
保存这个公钥,客户端配置时需要使用。
|
||||||
|
|
||||||
|
## 注册为系统服务
|
||||||
|
|
||||||
|
### 创建hbbs服务
|
||||||
|
|
||||||
|
创建服务文件:
|
||||||
|
```bash
|
||||||
|
sudo nano /etc/systemd/system/rustdesk-hbbs.service
|
||||||
|
```
|
||||||
|
|
||||||
|
写入以下内容:
|
||||||
|
```ini
|
||||||
|
[Unit]
|
||||||
|
Description=RustDesk Hbbs
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
User=rustdesk
|
||||||
|
Type=simple
|
||||||
|
WorkingDirectory=/home/rustdesk/rustdesk/server
|
||||||
|
ExecStart=/home/rustdesk/rustdesk/server/hbbs
|
||||||
|
ExecStop=/bin/kill -TERM $MAINPID
|
||||||
|
Restart=always
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
```
|
||||||
|
|
||||||
|
### 创建hbbr服务
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo nano /etc/systemd/system/rustdesk-hbbr.service
|
||||||
|
```
|
||||||
|
|
||||||
|
写入以下内容:
|
||||||
|
```ini
|
||||||
|
[Unit]
|
||||||
|
Description=RustDesk Hbbr
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
User=rustdesk
|
||||||
|
Type=simple
|
||||||
|
WorkingDirectory=/home/rustdesk/rustdesk/server
|
||||||
|
ExecStart=/home/rustdesk/rustdesk/server/hbbr
|
||||||
|
ExecStop=/bin/kill -TERM $MAINPID
|
||||||
|
Restart=always
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
```
|
||||||
|
|
||||||
|
### 启动服务
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 重载systemd配置
|
||||||
|
sudo systemctl daemon-reload
|
||||||
|
|
||||||
|
# 启动服务
|
||||||
|
sudo systemctl start rustdesk-hbbs
|
||||||
|
sudo systemctl start rustdesk-hbbr
|
||||||
|
|
||||||
|
# 设置开机自启
|
||||||
|
sudo systemctl enable rustdesk-hbbs
|
||||||
|
sudo systemctl enable rustdesk-hbbr
|
||||||
|
|
||||||
|
# 查看服务状态
|
||||||
|
sudo systemctl status rustdesk-hbbs
|
||||||
|
sudo systemctl status rustdesk-hbbr
|
||||||
|
```
|
||||||
|
|
||||||
|
## 客户端配置
|
||||||
|
|
||||||
|
### 1. 下载客户端
|
||||||
|
|
||||||
|
访问[RustDesk官方发布页面](https://github.com/rustdesk/rustdesk/releases)下载对应系统的客户端。
|
||||||
|
|
||||||
|
### 2. 配置客户端
|
||||||
|
|
||||||
|
1. 打开RustDesk客户端
|
||||||
|
2. 点击右上角的三个点,进入设置
|
||||||
|
3. 选择"网络"选项
|
||||||
|
4. 解锁网络配置
|
||||||
|
5. 填入配置信息:
|
||||||
|
- **ID服务器**:你的服务器IP地址
|
||||||
|
- **中继服务器**:你的服务器IP地址
|
||||||
|
- **公钥**:之前复制的公钥内容
|
||||||
|
|
||||||
|
### 3. 测试连接
|
||||||
|
|
||||||
|
配置完成后,客户端会显示一个ID号码。在另一台设备上安装并配置好RustDesk客户端,输入这个ID即可建立连接。
|
||||||
|
|
||||||
|
## 进阶配置
|
||||||
|
|
||||||
|
### 启用强制加密
|
||||||
|
|
||||||
|
如果希望强制使用密钥验证,可以在启动服务时添加参数:
|
||||||
|
|
||||||
|
修改服务文件中的ExecStart行:
|
||||||
|
```ini
|
||||||
|
ExecStart=/home/rustdesk/rustdesk/server/hbbs -k _
|
||||||
|
ExecStart=/home/rustdesk/rustdesk/server/hbbr -k _
|
||||||
|
```
|
||||||
|
|
||||||
|
这样客户端必须配置正确的公钥才能连接。
|
||||||
|
|
||||||
|
### 使用域名
|
||||||
|
|
||||||
|
如果你有域名,可以在客户端配置中使用域名替代IP地址,但请注意:
|
||||||
|
- 域名必须直接解析到服务器IP
|
||||||
|
- 不支持CDN加速的域名
|
||||||
|
|
||||||
|
## 常见问题解决
|
||||||
|
|
||||||
|
### 1. 连接失败
|
||||||
|
|
||||||
|
检查以下几点:
|
||||||
|
- 服务器防火墙是否开放了必要端口
|
||||||
|
- 服务是否正常运行:`sudo systemctl status rustdesk-hbbs rustdesk-hbbr`
|
||||||
|
- 客户端配置是否正确
|
||||||
|
|
||||||
|
### 2. 性能问题
|
||||||
|
|
||||||
|
- 确保服务器网络带宽充足
|
||||||
|
- 可以考虑升级服务器配置
|
||||||
|
- 检查是否有其他程序占用资源
|
||||||
|
|
||||||
|
### 3. 安全考虑
|
||||||
|
|
||||||
|
- 建议启用强制加密
|
||||||
|
- 定期更新RustDesk版本
|
||||||
|
- 使用防火墙限制访问来源
|
||||||
|
|
||||||
|
## 总结
|
||||||
|
|
||||||
|
通过本教程,你已经成功搭建了自己的RustDesk远程桌面服务器。这个方案具有以下优势:
|
||||||
|
|
||||||
|
1. **完全掌控**:数据不经过第三方服务器
|
||||||
|
2. **成本低廉**:最低1C1G服务器即可满足需求
|
||||||
|
3. **安全可靠**:开源代码,支持端到端加密
|
||||||
|
4. **性能优秀**:基于Rust的高效实现
|
||||||
|
|
||||||
|
现在你可以享受安全、高效的远程桌面服务了!如果遇到问题,建议查看官方文档或者在GitHub上寻求帮助。
|
Loading…
Reference in New Issue
Block a user