RustDesk 自架開源遠端連線
BUBU 最常使用 TeamViewer
及 AnyDesk
這兩套遠端系統,但都只是臨時要協助幫朋友或者客人問題處理排除用,也有使用內部網部用 IP
方式來連線,但是最近不知道為什麼一直失效無法連線到內部某幾個台設備或者要幫朋友查看時都會跳出需要收費或者只讓您連一下下就斷線,剛好前陣子社群節省哥說最近有一套遠端連線RustDesk剛好開源了也有提供伺服器版本可以自己架設在內部使用,但開發這一套作者是大陸一位神人編寫出了來這位神人也把程式碼都公開到 GitHub 上面不用太擔心,以下記錄是怎麼架設及設定這大約十分鐘就可以架設完成這個服務了。
該服務還有其他商用方案也但是需要訂閱,那訂閱費用在請參考官方提供的資訊,原則上開源版就足夠讓我使用了訂閱版本就是有管理介面及帳號服務。
運行環境
環境都是在 「Proxmox VE 」 虛擬系統上架設,都是以 「 LXC 」模式為主,除非有特殊狀況會告知使用 「 VM 」 模式
- 系統環境: Debian 11、12
安裝過程
BUBU 所按裝的是開源版本的 RustDesk 伺服器版本,那如果還想要有其他功能的話在麻煩請再參考官方計算付費服務,官方有提供兩種版本一種是下載已編譯好來架設,另一種是使用 Docker 方式來架設,BUBU 是採用第一種方式來架設
RustDesk 伺服器端架設
- 設定防火牆對應的 Port 號
TCP(21115,21116,21117)
UDP(21116)
- Port說明
Port | 說明 |
---|---|
21115(TCP) | 是hbbs用作NAT類型測試 |
21116(TCP/UDP) | TCP是hbbs用作TCP打洞與連接服務 UDP是hbbs用作ID註冊與心跳服務 |
21117(TCP) | 是hbbr用作中繼服務 |
21118(TCP) | 支持網頁客戶端 |
21119(TCP) | 支持網頁客戶端 |
- 將服務放置在
opt
下面
cd /opt
- 到官方 GitHub RustDesk Server 下載最新版本的 RustDesk Server ,本次下載是 1.1.8 版本未來如官方有更新版本會在做修改。
wget https://github.com/rustdesk/rustdesk-server/releases/download/1.1.11-1/rustdesk-server-linux-amd64.zip
- 解壓剛剛下載好的程式
unzip rustdesk-server-linux-amd64.zip
- 解壓完後重新命名該目錄
mv amd64 rustdesk
- 進入該目錄
cd rustdesk
確認會有這三個檔案。
- 將
hbbr
、hbbs
這兩個檔案有執行權限
chmod +x hbbr
chmod +x hbbs
- 這支 hbbs 功能是 RustDesk ID註冊伺服器
- 這支 hbbr 功能是 RustDesk 中繼伺服器
- 執行
hbbs
程式先產出來憑證等一下會使用到
./hbbs
- 執行後系統會自動產出憑證 例:
id_ed25519.pub
- 建立
hbbs
服務vim /etc/systemd/system/hbbs.service
cat >/etc/systemd/system/hbbs.service <<___EOF___
[Unit]
Description=Rust Desk Service
After=network.target
[Service]
Type=simple
User=root
Restart=on-failure
RestartSec=5s
WorkingDirectory=/opt/rustdesk
# -r 指定您要連線位置(網址或 IP),-k 參數是強制驗證客戶端公鑰避免被未授權連線使用
ExecStart=/opt/rustdesk/hbbs -r 0.0.0.0 -k _
[Install]
WantedBy=multi-user.target
___EOF___
- 啟動服務
sudo systemctl daemon-reload && sudo systemctl enable --now hbbs.service
- 建立
hbbr
服務vim /etc/systemd/system/hbbr.service
cat >/etc/systemd/system/hbbr.service <<___EOF___
[Unit]
Description=Rust Desk Service
After=network.target
[Service]
Type=simple
User=root
Restart=on-failure
RestartSec=5s
WorkingDirectory=/opt/rustdesk
# -k 參數是強制驗證客戶端公鑰避免被未授權連線使用
ExecStart=/opt/rustdesk/hbbr -k _
[Install]
WantedBy=multi-user.target
___EOF___
- 啟動服務
sudo systemctl daemon-reload && sudo systemctl enable --now hbbr.service
RustDesk 客戶端
- 伺服器架設完後再去官方下載客戶端程式來使用
- 下載完後可在不安裝情況下可以直接執行該程式,未來如果您很常使用的話可以直接安裝程式
- 點選擇畫面右上角紅色框框的位置進入設定畫面
- 進入後選擇「網路」
- 在 「ID 伺服器」、「中繼伺服器」輸入您剛剛所設定的位置,「key」的部份是在伺服器端的目錄下有一個剛剛系統產出來的金鑰用
cat id_ed25.pub
查看並且記錄下來填入到 「key」欄位。
- 如果您有安裝客戶端程式可以去「安全」
- 選擇「設定固定密碼」設定您連線時使用的密碼。
補充說明
- 待驗證
Restart-Service -Name RustDesk
Copy-Item "C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\config\RustDesk.toml" -Destination "C:\\<your-special-folder>\Rustdesk"
& 'C:\Program Files\RustDesk\rustdesk.exe' --import-config Rustdesk.toml
& 'C:\Program Files\RustDesk\rustdesk.exe' --password <your-permanent-password>
Restart-Service -Name RustDesk