基于阿里云部署 RustDesk 自托管服務器
- 一、背景與需求場景
- 二、什么是 RustDesk?為什么選擇自托管?
- 2.1 RustDesk 是什么?
- 2.2 為什么選擇自托管?
- 三、環境準備與架構說明
- 四、操作步驟
- 4.1 在阿里云上安裝 RustDesk 服務端
- 4.1.1 下載并運行安裝腳本
- 4.1.2 獲取注冊配置信息
- 4.1.3 配置安全組
- 4.2 被控設備端安裝與配置
- 4.3 控制端(PC)配置
- 4.3.1 下載 RustDesk 客戶端
- 4.3.2 配置網絡設置
- 4.3.3 建立遠程連接
- 五、常見問題與注意事項
- 六、總結
一、背景與需求場景
在日常工作和開發中,我們常常需要遠程訪問位于內網環境中的設備(例如家庭 NAS、公司內部測試服務器等)。傳統的解決方案如 Tailscale + VNC
或 NoMachine
雖然可行,但經常受限于帶寬和延遲問題,體驗不佳。而使用 FRP(內網穿透工具)加 VNC 的方式又配置復雜,維護成本較高。
因此,我決定嘗試 RustDesk——一個開源的遠程桌面軟件,支持自建中繼服務器,既能保障數據安全,又能提升連接質量。本文將詳細介紹如何在阿里云服務器上部署 RustDesk 自托管服務,并實現跨網絡遠程桌面控制。
二、什么是 RustDesk?為什么選擇自托管?
2.1 RustDesk 是什么?
RustDesk 是一款遠程桌面控制軟件,支持 Windows、Linux等多種平臺。與 TeamViewer、AnyDesk 等商業軟件類似,它提供遠程控制、文件傳輸等功能,但更加輕量、開源,并允許用戶自建服務器。
2.2 為什么選擇自托管?
- 數據隱私:所有遠程連接數據經過自己的服務器,避免第三方窺探。
- 性能優化:自建服務器可以選擇合適的機房,優化網絡延遲和帶寬。
- 不受限制:自托管版本沒有連接時間或設備數量的限制。
- 定制化強:可根據需要調整服務器配置和中繼策略。
三、環境準備與架構說明
在開始之前,你需要:
- 一臺阿里云 ECS 實例(建議 ≥ 2核4G,帶寬按需選擇)。
- 一個域名(可選,但推薦使用,方便后續維護)。
- 基本的 Linux 命令行操作經驗。
整個系統的架構如下:
控制端(PC) → 阿里云中繼服務器(RustDesk-Server) → 被控設備(內網機器)
中繼服務器負責轉發數據,使得兩個不在同一局域網的設備能夠建立遠程桌面連接。
四、操作步驟
4.1 在阿里云上安裝 RustDesk 服務端
4.1.1 下載并運行安裝腳本
通過以下命令快速安裝 RustDesk 服務端:
wget https://raw.githubusercontent.com/techahold/rustdeskinstall/master/install.sh
chmod +x install.sh
./install.sh
安裝完成后,你會看到類似下面的輸出:
Creating /var/log/gohttp
Tidying up Go HTTP Server Install
Created symlink from /etc/systemd/system/multi-user.target.wants/gohttpserver.service to /etc/systemd/system/gohttpserver.service.
Your IP/DNS Address is <你的域名>.top
Your public key is <公鑰字符串>
Install Rustdesk on your machines and change your public key and IP/DNS name to the above
You can access your install scripts for clients by going to http://<你的域名>:8000
Username is <用戶名> and password is <密碼>
Press any key to finish install
waiting for the keypress
請務必記錄下:公鑰(public key)、用戶名和密碼,后續配置客戶端時需要用到。
4.1.2 獲取注冊配置信息
運行以下命令,獲取被控端注冊時所需的配置參數:
cat /opt/gohttp/public/linuxclientinstall.sh | grep "rustdesk_cfg="
輸出結果中的 rustdesk_cfg
值需要記錄下來,它在被控端注冊時使用。
4.1.3 配置安全組
在阿里云控制臺中,打開ECS實例的安全組設置,放行以下端口:
4.2 被控設備端安裝與配置
在被控制的設備(如內網Linux機器)上執行如下命令:
wget https://github.com/rustdesk/rustdesk/releases/download/1.4.1/rustdesk-1.4.1-aarch64.deb
sudo dpkg -i rustdesk-1.4.1-aarch64.deb# 安裝依賴(某些環境可能需要)
apt install libxdo3
sudo apt install libxdo3 -y
apt --fix-broken install -y# 設置隨機訪問密碼并注冊到服務器
rustdesk_pw=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 8 | head -n 1)
rustdesk_cfg="<替換為上一步獲取的rustdesk_cfg>"
rustdesk_id=$(rustdesk --get-id)
rustdesk --password $rustdesk_pw &> /dev/null
rustdesk --config $rustdesk_cfg
systemctl restart rustdesk
systemctl status rustdesk
echo "ID:$rustdesk_id"
echo "password:$rustdesk_pw"
請記錄最后顯示的 ID 和 Password,控制端連接時需要用到。
4.3 控制端(PC)配置
4.3.1 下載 RustDesk 客戶端
從 官方發布頁 下載 Windows 版本并安裝。
4.3.2 配置網絡設置
打開 RustDesk,進入設置 → 網絡,填寫如下信息:
- ID 服務器:你的域名或云服務器IP
- 中繼服務器:同上
- API 服務器:
http://<你的域名或IP>
- Key:之前記錄的服務端公鑰
如下圖所示:
4.3.3 建立遠程連接
返回主界面,輸入被控端的 ID 點擊“連接” ,之后輸入密碼登錄
成功連接后,你就可以遠程操作設備了:
五、常見問題與注意事項
-
無法連接?
- 檢查安全組端口是否開放。
- 確認所有配置中的IP/域名是否正確。
-
性能調優
- 可嘗試調節分辨率和幀率提升流暢度。
- 若服務器帶寬較小,建議降低遠程桌面畫質。
-
安全建議
- 定期更換密碼。
- 限制安全組IP訪問范圍(如僅允許自己的IP訪問管理端口)。
六、總結
通過本文,你已經在阿里云上成功搭建了一套 RustDesk 自托管遠程桌面服務。不僅實現了內網設備的遠程控制,還擁有了完全自主的數據控制權。