From 9fbeb8bdfe08e95a43afb657bc2afdc82f0209a6 Mon Sep 17 00:00:00 2001 From: LiuMangMang <362165265@qq.com> Date: Fri, 4 Jul 2025 17:50:53 +0800 Subject: [PATCH] =?UTF-8?q?docs(toolbox):=20=E6=B7=BB=E5=8A=A0=20RustDesk?= =?UTF-8?q?=20=E8=87=AA=E5=BB=BA=E8=BF=9C=E7=A8=8B=E6=A1=8C=E9=9D=A2?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E5=99=A8=E6=95=99=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 RustDesk 自建远程桌面服务器的详细步骤 - 包括服务器准备、初始化、RustDesk 服务端部署、客户端配置等内容 - 提供进阶配置和常见问题解决方法 - 总结 RustDesk 的优势和使用建议 --- .../java/工具箱/RustDesk自建远程桌面服务器.md | 257 ++++++++++++++++++ 1 file changed, 257 insertions(+) create mode 100644 src/programming/java/工具箱/RustDesk自建远程桌面服务器.md diff --git a/src/programming/java/工具箱/RustDesk自建远程桌面服务器.md b/src/programming/java/工具箱/RustDesk自建远程桌面服务器.md new file mode 100644 index 0000000..cc3443a --- /dev/null +++ b/src/programming/java/工具箱/RustDesk自建远程桌面服务器.md @@ -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 +``` + +### 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上寻求帮助。 \ No newline at end of file