banner
xingli

xingli

猫娘爱好者

RustDesk 搭建教程

簡介#

RustDesk 是一款開箱即用的開源免費的全平台遠程桌面軟體,包括 MacOSWindowsAndroid 的客戶端支援。它可以替代類似於 向日葵遠程桌面ToDesk 等遠程桌面服務,這可以讓你完全掌控資料,不用擔心安全問題。你可以選擇使用官方的註冊 / 中繼伺服器,也可以自建伺服器,甚至基於官方程式碼開發自己的版本。

部署服務#

環境準備#

  1. 伺服器需要有安裝 Docker 和 DockerCompose 環境

  2. 建立持久化目錄及 compose 描述檔

image

# 建立資料夾
mkdir -p /home/rustdesk-server
cd /home/rustdesk-server
mkdir hbbr
mkdir hbbs 
# 建立描述檔,並貼上序號3的描述檔內容
vim docker-compose.yml
version: '3'

networks:
  rustdesk-net:
    external: false

services:
  hbbs:
    container_name: rustdesk-hbbs
    ports:
      - 21115:21115
      - 21116:21116
      - 21116:21116/udp
      - 21118:21118
    image: rustdesk/rustdesk-server:latest
    # 請把 www.xxxaaa.cn:21117 修改為自己的域名
    # 如果您禁止沒有key的使用者建立非加密連線,請在運行hbbs和hbbr的時候添加-k _參數
    command: hbbs -r www.xxxaaa.cn:21117 -k _
    volumes:
      - ./hbbs:/root
    networks:
      - rustdesk-net
    depends_on:
      - hbbr
    restart: unless-stopped

  hbbr:
    container_name: rustdesk-hbbr
    ports:
      - 21117:21117
      - 21119:21119
    image: rustdesk/rustdesk-server:latest
    command: hbbr
    volumes:
      - ./hbbr:/root
    networks:
      - rustdesk-net
    restart: unless-stopped

運行容器#

docker-compose 常用命令:

# 運行容器
docker-compose up -d
# 停止容器
docker-compose stop
# 啟動容器
docker-compose start
# 重啟容器
docker-compose restart
# 下線(刪除)容器,刪除容器不會導致你的資料遺失,你的資料庫保存在了當前目錄下的data資料夾內,請妥善保管該目錄
docker-compose down

查看伺服器公鑰#

在上面的 docker-compose 檔案中,已經宣告開啟了強制金鑰加密認證,所有需要連線的裝置都需要提供正確的公鑰才能正常連線到伺服器。

下面是 docker-compose 檔案所在資料夾的目錄結構:

.
├── docker-compose.yml
├── hbbr
│   ├── id_ed25519
│   └── id_ed25519.pub
└── hbbs
    ├── db_v2.sqlite3
    ├── db_v2.sqlite3-shm
    ├── db_v2.sqlite3-wal
    ├── id_ed25519
    └── id_ed25519.pub

容器啟動後會自動生成公鑰和私鑰,我們需要複製 hbbs 目錄下的 id_ed25519.pub 檔案裡面的字串,這個就是我們連線到伺服器的憑證。

如需更換金鑰和公鑰,只需將 hbbs 資料夾下面的 id_ed25519.pubid_ed25519 兩個檔案刪掉然後重啟容器就可以自動重新生成。

配置客戶端#

普通配置#

注意:被控端只需要填寫輸入伺服器 IP 地址即可,控制端需要填入金鑰,才可以發起連線。

我們可以在客戶端的設定介面,輸入伺服器 IP 地址,和金鑰檔案,儲存後,就可以看到客戶端會提示就緒。

image

image

自動配置#

只有在控制端發起連線時才需要驗證金鑰。

這樣我們就可以把被控端發給任何人,而不需要擔心金鑰洩露,以及其他未授權使用者發起連線。

設定好後,我們將被控端發給需要我們遠程的人,不需要他做任何設定,只需要他打開軟體,將軟體的 ID 和密碼發給我們,我們就可以遠程其裝置了。

如果需要無人值守,也就是開機自動運行遠程軟體,以方便我們遠程連線,我們直接打開被控端軟體,點擊安裝就可以將軟體和配置一起安裝到裝置上。

如果你想要讓客戶端不用手動輸入中繼地址和金鑰,直接雙擊運行就可以用的話,可以將通過修改客戶端檔案名的方式來實現。

我們將客戶端改名:
被控端
host=伺服器IP,key=錯誤的金鑰內容.exe
例如:host=129.129.33.8,key=111.exe

控制端
host=伺服器IP,key=正確的金鑰內容.exe
例如:host=129.129.33.8,key=4uZtPIYe4y344NP3IVc5SxRzKeiNn2lfen4tEY=.exe

附註#

端口說明#

組件功能使用的端口
hbbsRustDesk ID 註冊伺服器21115 (tcp):用作 NAT 類型測試
21116 (udp):用作 ID 註冊與心跳服務
21116 (tcp):用作 TCP 打洞與連線服務
hbbrRustDesk 中繼伺服器21117 (tcp):用作中繼服務
載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。