基于阿里云部署 RustDesk 自托管服務器

基于阿里云部署 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 + VNCNoMachine 雖然可行,但經常受限于帶寬和延遲問題,體驗不佳。而使用 FRP(內網穿透工具)加 VNC 的方式又配置復雜,維護成本較高。

因此,我決定嘗試 RustDesk——一個開源的遠程桌面軟件,支持自建中繼服務器,既能保障數據安全,又能提升連接質量。本文將詳細介紹如何在阿里云服務器上部署 RustDesk 自托管服務,并實現跨網絡遠程桌面控制。


二、什么是 RustDesk?為什么選擇自托管?

2.1 RustDesk 是什么?

RustDesk 是一款遠程桌面控制軟件,支持 Windows、Linux等多種平臺。與 TeamViewer、AnyDesk 等商業軟件類似,它提供遠程控制、文件傳輸等功能,但更加輕量、開源,并允許用戶自建服務器。

2.2 為什么選擇自托管?

  • 數據隱私:所有遠程連接數據經過自己的服務器,避免第三方窺探。
  • 性能優化:自建服務器可以選擇合適的機房,優化網絡延遲和帶寬。
  • 不受限制:自托管版本沒有連接時間或設備數量的限制。
  • 定制化強:可根據需要調整服務器配置和中繼策略。

三、環境準備與架構說明

在開始之前,你需要:

  1. 一臺阿里云 ECS 實例(建議 ≥ 2核4G,帶寬按需選擇)。
  2. 一個域名(可選,但推薦使用,方便后續維護)。
  3. 基本的 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 點擊“連接” ,之后輸入密碼登錄
請添加圖片描述
請添加圖片描述

成功連接后,你就可以遠程操作設備了:
請添加圖片描述


五、常見問題與注意事項

  1. 無法連接?

    • 檢查安全組端口是否開放。
    • 確認所有配置中的IP/域名是否正確。
  2. 性能調優

    • 可嘗試調節分辨率和幀率提升流暢度。
    • 若服務器帶寬較小,建議降低遠程桌面畫質。
  3. 安全建議

    • 定期更換密碼。
    • 限制安全組IP訪問范圍(如僅允許自己的IP訪問管理端口)。

六、總結

通過本文,你已經在阿里云上成功搭建了一套 RustDesk 自托管遠程桌面服務。不僅實現了內網設備的遠程控制,還擁有了完全自主的數據控制權。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/96291.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/96291.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/96291.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

細說分布式ID

針對高并發寫&#xff0c;分布式ID是其業務基礎&#xff0c;本文從一個面試題細細展開。面試官&#xff1a;1.對于Mysql的InnoDB引擎下&#xff0c;自增ID和UUID作為主鍵各自有什么優劣&#xff0c;對于一張表的主鍵你建議使用哪種ID&#xff1f;2.除了UUID是否還了解其他類型的…

2025年大數據專業證書報考指南:專科學歷必看的8大選擇?

對于大專學歷的同學來說&#xff0c;2025年進入大數據行業是一個充滿機遇的選擇。大數據領域發展迅速&#xff0c;各類證書能夠幫助求職者提升專業能力、增強就業競爭力。其中最推薦的是CDA數據分析師&#xff0c;這個證書適應了未來數字化經濟和AI發展趨勢&#xff0c;難度不高…

Python爬蟲實戰:研究Axis Artist模塊,構建電商數據采集和分析系統

1. 引言 1.1 研究背景與意義 在大數據時代,互聯網上蘊藏著海量有價值的信息,這些信息涵蓋了社會、經濟、科技等各個領域。高效地從互聯網獲取數據并進行深度分析,對于企業決策、學術研究、市場分析等都具有重要意義。Python 作為一種功能強大的編程語言,憑借其豐富的庫支…

突破大語言模型推理瓶頸:深度解析依賴關系與優化策略

突破大語言模型推理瓶頸&#xff1a;深度解析依賴關系與優化策略當ChatGPT需要5秒才能生成一個回答&#xff0c;當企業級大模型每秒只能處理3個用戶請求——這些性能瓶頸的背后&#xff0c;隱藏著大語言模型推理計算中復雜的依賴關系網。在大語言模型推理過程中&#xff0c;依賴…

整理了幾道前端面試題

1. 若是有兩個數組ar1和ar2&#xff0c;求它們的并集和交集&#xff0c;要怎么做&#xff1f; const ar1 [1, 2, 3, 4]; const ar2 [3, 4, 5, 6];一、求并集 (Union) 目標&#xff1a; 把兩個數組合并成一個新數組&#xff0c;新數組包含所有出現過的元素&#xff0c;但每個…

Mac M4環境下基于VMware Fusion虛擬機安裝Ubuntu24.04 LTS ARM版

Mac M4環境下基于VMware Fusion虛擬機安裝Ubuntu24.04 LTS ARM版 1 下載Ubuntu鏡像 在Ubuntu官網下載Ubuntu24.04 LTS的arm版鏡像&#xff0c;這里選擇ubuntu-24.04-live-server-arm64.iso&#xff0c;支持arm的似乎沒有合適的desktop版本&#xff0c;Server版本默認是不帶圖…

開源與定制化對比:哪種在線教育系統源碼更適合教育培訓APP開發?

如今&#xff0c;“在線教育系統源碼”已經成為許多教育培訓機構、創業者甚至傳統學校的高頻關鍵詞。無論是打造一款在線教育APP&#xff0c;還是開發企業內部培訓平臺&#xff0c;源碼選擇都決定了后續的開發效率、產品體驗與商業化潛力。 在實際開發中&#xff0c;常見的源碼…

中間件的日志分析

將日志文件access.log復制到kali中進行分析使用命令查看文件中各IP的訪問次數&#xff0c;依次分析其行為awk { print $1 } access.log | sort | uniq -c |sort -nr172.16.3.189cat access.log | grep 172.16.3.198行為模式分析使用固定弱密碼進行身份驗證 幾乎所有請求都使用用…

【Big Data】云原生與AI時代的存儲基石 Apache Ozone 的技術演進路徑

目錄 一、Apache Ozone是什么&#xff1f; 二、Ozone的誕生背景 三、Ozone的架構設計 1. 分層架構設計 2. Ozone Manager (OM) 3. Storage Container Manager (SCM) 4. DataNode 5. Raft協議應用 四、Ozone解決的關鍵問題 1. 元數據管理瓶頸 2. 小文件性能問題 3. …

抖音直播禮物彈幕抓取工具:技術實現與功能解析

基于Python的直播間數據采集技術實踐一、項目概述基于Python開發的直播間數據采集方案&#xff0c;采用最新簽名算法(dysign)實現穩定連接&#xff0c;實時獲取直播間各類互動數據&#xff0c;為直播數據分析和互動應用開發提供技術支持。二、核心功能實時消息監控用戶進入提醒…

添加地址頁面,可以添加復制粘貼,自動識別地址的功能uniapp實現方式

主要用uni.getClipboardData(OBJECT)&#xff0c;更多信息可以到uniapp官網查看以下實現方式 1利用api, 2針對判斷優化方案&#xff0c;在線APIhandleConfirm2(){let that this;promisRequest({url: https://wangzc.wang/smAddress,data: {"address": that.…

ESP32 驅動 PWM 舵機為什么必須共地?——從原理到實踐全解析

在使用 ESP32 控制 PWM 舵機 的過程中,新手經常遇到一個常見問題:舵機不動、亂動、甚至燒壞芯片。 其中最典型的原因,就是沒有正確共地。 很多初學者會疑惑:“外接電池只是給舵機供電,為什么還要把電池的地線接到 ESP32 的 GND 上呢?” 本文將從 信號邏輯、閉合回路、…

細菌基因組genome二代測序數據分析

kraken2去除污染conda create -n kraken2 conda activate kraken2 conda install kraken2 -c bioconda mkdir kraken2_outputkraken2 --db ../../kraken2_db/k2_pluspf_20250402/ --threads 8 --paired 250811_HS67EV0804_R1.fastq.gz 250811_HS67EV0804_R2.fastq.gz --use-nam…

工業網絡架構的未來:智慧化工廠中的低延遲與高可靠性設計

1. 引言工業網絡正經歷從傳統有線到無線、從低速到高速的全面升級。某鋁箔智慧工廠專注于新能源鋁箔的生產&#xff0c;依賴低延遲、高可靠的網絡支持實現生產控制與智能管理。本文將探討某鋁箔智慧工廠網絡架構設計的關鍵點及其實施策略。2. 某鋁箔智慧工廠的網絡挑戰多終端接…

Android14 init.rc中on boot階段操作4

Android14 init.rc中on early-init, init, late-init, early-fs, post-fs階段詳解1 Android14 init.rc的on late-fs, post-fs-data階段主要操作詳解2 Android14 init.rc中啟動Zygote詳解3 Android14 init.rc中on boot階段操作4 1 on boot和低內存設備的啟動優化 僅在ro.con…

CodeSandbox Desktop:零配置項目啟動工具,實現項目環境隔離與Github無縫同步

你有沒有過為了跑一個簡單的 Demo&#xff0c;花半小時配置環境還失敗的經歷&#xff1f;比如想測試一個 Vue3 組件&#xff0c;先裝 Node.js&#xff0c;結果版本太高和項目依賴不兼容&#xff1b;換低版本又提示 “找不到 python 環境”&#xff1b;好不容易裝完依賴&#xf…

人工智能-python-深度學習-經典神經網絡AlexNet

AlexNet&#xff08;詳解&#xff09;——從原理到 PyTorch 實現&#xff08;含訓練示例&#xff09; 文章目錄AlexNet&#xff08;詳解&#xff09;——從原理到 PyTorch 實現&#xff08;含訓練示例&#xff09;1. 發展歷史與比賽成績2. AlexNet 的核心思想&#xff08;一句話…

《sklearn機器學習——指標和評分1》

3個不同的API可供評估模型預測質量&#xff1a; 評估器評分方法&#xff1a;評估器有一個score方法&#xff0c;它給計劃解決的問題提供一個初始評估標準。這部分內容不在這里討論&#xff0c;但會出現在每一個評估器的文件中。 評分參數&#xff1a;使用交叉驗證&#xff08;…

人工智能中的線性代數總結--簡單篇

numpy庫中的dot函數來計算矩陣和向量的點積def matrix_vector_dot_product(a, b):import numpy as npif (len(a[0]) ! len(b)):return -1# 使用tolist()將結果轉換為列表return np.dot(a, b).tolist()原始方法def matrix_vector_dot_product(matrix, vector):if len(matrix[0])…

又是全網首創/純Qt實現28181設備模擬器/rtp視頻點播/桌面轉28181/任意文件轉28181/跨平臺

一、前言說明 這個工具前前后后也算是廢了不少功夫&#xff0c;最開始是因為28181服務端的組件已經完美實現&#xff0c;對照國標文檔看了很多遍&#xff0c;逐個實現需要的交互協議&#xff0c;整體上比onvif協議要難不少&#xff0c;主要是涉及到的東西比較多&#xff0c;有…