欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker輕松自建RustDesk服務(wù)器的實(shí)現(xiàn)步驟

 更新時(shí)間:2025年09月01日 10:54:29   作者:MUZ木  
本文介紹通過(guò)Docker和自動(dòng)化腳本在Linux服務(wù)器部署RustDesk的hbbs和hbbr組件,實(shí)現(xiàn)自建私有服務(wù)器以提升隱私、安全與靈活性,并提供客戶(hù)端配置及注意事項(xiàng),感興趣的可以了解一下

RustDesk 是一款功能強(qiáng)大的開(kāi)源遠(yuǎn)程桌面軟件,讓您完全掌控自己的數(shù)據(jù)和連接。相比依賴(lài)第三方服務(wù),自建 RustDesk 服務(wù)器能顯著提升隱私性、安全性和靈活性。本文將詳細(xì)介紹如何通過(guò) Docker 和一個(gè)自動(dòng)化 Bash 腳本,在 Linux 服務(wù)器上快速部署 RustDesk 的服務(wù)端組件:hbbs(ID/注冊(cè)服務(wù)器)和 hbbr(中繼服務(wù)器)。

為什么選擇自建 RustDesk 服務(wù)器?

  • 數(shù)據(jù)隱私:所有連接和元數(shù)據(jù)都存儲(chǔ)在您自己的服務(wù)器上,避免第三方訪(fǎng)問(wèn)。
  • 安全性:自定義服務(wù)器安全設(shè)置,并使用私有密鑰實(shí)現(xiàn)端到端加密。
  • 無(wú)限制:擺脫公共服務(wù)器的連接數(shù)或帶寬限制。
  • 定制性:支持高級(jí)配置,滿(mǎn)足特定需求。

先決條件

在開(kāi)始之前,請(qǐng)確保滿(mǎn)足以下條件:

  • 一臺(tái)具有公網(wǎng)靜態(tài) IP 地址的 Linux 服務(wù)器(推薦 Ubuntu、CentOS 或 Debian)。
  • 服務(wù)器上已安裝 Docker(參考 Docker 官方文檔 安裝)。
  • 擁有服務(wù)器的 sudo 或 root 權(quán)限。
  • 熟悉基本的 Linux 命令行操作。
  • 確保服務(wù)器防火墻已開(kāi)放以下端口:
    • TCP:21115、21116、21117、21118
    • UDP:21116、21118

andoli

部署 RustDesk 服務(wù)器需要兩個(gè)主要組件:hbbs(處理客戶(hù)端注冊(cè)和 ID 分配)以及 hbbr(處理中繼連接)。本指南提供了一個(gè) Bash 腳本,自動(dòng)化部署這兩個(gè)組件,并確保數(shù)據(jù)持久化和密鑰生成。

部署腳本

以下是一個(gè)自動(dòng)化部署 RustDesk 服務(wù)器的 Bash 腳本。它會(huì)創(chuàng)建 Docker 容器、設(shè)置數(shù)據(jù)持久化目錄,并生成和共享密鑰。

#!/bin/bash

# --- 配置 ---
# !!! 重要: 公網(wǎng)服務(wù)器 IP 地址 !!!
SERVER_IP="YOUR_SERVER_PUBLIC_IP" # 請(qǐng)?zhí)鎿Q為您的公網(wǎng) IP

# --- 服務(wù)器的密鑰參數(shù) ---
# 使用 "_" 來(lái)強(qiáng)制啟用密鑰。如果 HBBS_DATA_DIR 中存在密鑰,則使用它們,否則將生成新密鑰。
# 客戶(hù)端需要 id_ed25519.pub 中的公鑰。
KEY_PARAMETER="_" # 推薦:強(qiáng)制使用密鑰

# 用于持久化的數(shù)據(jù)目錄 (在腳本所在目錄下創(chuàng)建)
BASE_DATA_DIR="./rustdesk_server_data"
HBBS_DATA_DIR="${BASE_DATA_DIR}/hbbs" # hbbs 的數(shù)據(jù)和密鑰將存放在這里
HBBR_DATA_DIR="${BASE_DATA_DIR}/hbbr" # hbbr 的數(shù)據(jù)目錄 (密鑰從 HBBS_DATA_DIR 共享)

# Docker 鏡像
RUSTDESK_IMAGE="rustdesk/rustdesk-server"

# --- 腳本開(kāi)始 ---
echo "RustDesk 服務(wù)器部署腳本"
echo "---------------------------------"

# 檢查 SERVER_IP 是否已配置
if [ "${SERVER_IP}" == "YOUR_SERVER_PUBLIC_IP" ] || [ -z "${SERVER_IP}" ]; then
    echo "錯(cuò)誤:請(qǐng)修改腳本,將 SERVER_IP 變量設(shè)置為您的公網(wǎng) IP 地址。"
    exit 1
fi

# 檢查 Docker
if ! command -v docker &> /dev/null
then
    echo "錯(cuò)誤:找不到 Docker 命令。請(qǐng)先安裝 Docker。"
    exit 1
fi
echo "Docker 已找到。"
echo ""

# --- 1. 停止并移除已存在的 RustDesk 容器 ---
echo "正在停止并移除已存在的 RustDesk 容器 (hbbs, hbbr)..."
if sudo docker ps -a --format '{{.Names}}' | grep -qE '^(hbbs|hbbr)$'; then
    sudo docker stop hbbs hbbr > /dev/null 2>&1 || true
    sudo docker rm hbbs hbbr > /dev/null 2>&1 || true
    echo "已存在的 hbbs 和 hbbr 容器已停止并移除。"
else
    echo "未找到名為 hbbs 或 hbbr 的舊容器。"
fi
echo ""

# --- 2. 創(chuàng)建數(shù)據(jù)目錄 ---
echo "服務(wù)器 IP: ${SERVER_IP}"
echo "HBBS 數(shù)據(jù) (及密鑰) 目錄: ${HBBS_DATA_DIR}"
echo "HBBR 數(shù)據(jù)目錄: ${HBBR_DATA_DIR}"
echo ""

echo "正在創(chuàng)建數(shù)據(jù)目錄 (如果不存在)..."
mkdir -p "${HBBS_DATA_DIR}"
mkdir -p "${HBBR_DATA_DIR}"
echo "數(shù)據(jù)目錄已確保存在。"
echo ""

# --- 3. 啟動(dòng) HBBS (信令服務(wù)器) ---
echo "正在啟動(dòng) HBBS (信令服務(wù)器)..."
sudo docker run -d \
  --name hbbs \
  -p 21115:21115 \
  -p 21116:21116 \
  -p 21116:21116/udp \
  -v "${HBBS_DATA_DIR}":/root \
  --restart unless-stopped \
  "${RUSTDESK_IMAGE}" \
  hbbs -k "${KEY_PARAMETER}" -r "${SERVER_IP}"

echo "正在等待 HBBS 初始化 (約 5 秒)..."
sleep 5

# 檢查 hbbs 是否已啟動(dòng)并生成密鑰
if [ ! -f "${HBBS_DATA_DIR}/id_ed25519.pub" ]; then
    echo "錯(cuò)誤:HBBS 啟動(dòng)后未找到公鑰文件 ${HBBS_DATA_DIR}/id_ed25519.pub。"
    echo "請(qǐng)檢查 HBBS 日志: sudo docker logs hbbs"
    sudo docker logs hbbs
    echo "正在清理失敗的 HBBS 容器..."
    sudo docker stop hbbs > /dev/null 2>&1 || true
    sudo docker rm hbbs > /dev/null 2>&1 || true
    exit 1
fi
PUBLIC_KEY=$(cat "${HBBS_DATA_DIR}/id_ed25519.pub")
echo "HBBS 已啟動(dòng),公鑰已獲取。"
echo ""

# --- 4. 啟動(dòng) HBBR (中繼服務(wù)器) ---
echo "正在啟動(dòng) HBBR (中繼服務(wù)器)..."
# HBBR 掛載 HBBS_DATA_DIR 以共享由 HBBS 生成的密鑰
sudo docker run -d \
  --name hbbr \
  -p 21117:21117 \
  -p 21118:21118 \
  -p 21118:21118/udp \
  -v "${HBBS_DATA_DIR}":/root \
  --restart unless-stopped \
  "${RUSTDESK_IMAGE}" \
  hbbr -k "${KEY_PARAMETER}"

echo "正在等待 HBBR 初始化 (約 3 秒)..."
sleep 3

# 檢查 hbbr 是否啟動(dòng)
if ! sudo docker ps --filter "name=hbbr" --filter "status=running" --format '{{.Names}}' | grep -q '^hbbr$'; then
    echo "錯(cuò)誤: HBBR 容器未能成功啟動(dòng)或未處于運(yùn)行狀態(tài)。"
    echo "請(qǐng)檢查 HBBR 日志: sudo docker logs hbbr"
    sudo docker logs hbbr
    echo "正在清理 HBBS 和 HBBR 容器..."
    sudo docker stop hbbs hbbr > /dev/null 2>&1 || true
    sudo docker rm hbbs hbbr > /dev/null 2>&1 || true
    exit 1
fi
echo "HBBR 已啟動(dòng)。"
echo ""

# --- 部署摘要 ---
echo "--- 部署摘要 ---"
echo "RustDesk 服務(wù)器容器 (hbbs 和 hbbr) 現(xiàn)在應(yīng)該正在運(yùn)行。"
echo "您可以使用以下命令檢查它們的狀態(tài): sudo docker ps -a"
echo "您可以使用以下命令查看日志: sudo docker logs hbbs  或  sudo docker logs hbbr"
echo ""
echo "--- 客戶(hù)端配置 ---"
echo "在您的 RustDesk 客戶(hù)端中,請(qǐng)按如下配置:"
echo "  ID 服務(wù)器: ${SERVER_IP}"
echo "  中繼服務(wù)器: ${SERVER_IP}"
echo "  Key (公鑰): ${PUBLIC_KEY}"
echo ""
echo "重要提示: 'Key' 是由 hbbs 生成的公鑰文件的內(nèi)容。"
echo "它已從以下位置讀取: ${HBBS_DATA_DIR}/id_ed25519.pub"
echo ""
echo "如果您以后需要查找公鑰,請(qǐng)運(yùn)行: cat ${HBBS_DATA_DIR}/id_ed25519.pub"
echo "腳本執(zhí)行完畢。"

使用方法

  1. 保存腳本:將上述腳本保存為 deploy-rustdesk.sh。
  2. 修改公網(wǎng) IP:將腳本中的 SERVER_IP="YOUR_SERVER_PUBLIC_IP" 替換為您的服務(wù)器公網(wǎng) IP 地址。
  3. 賦予執(zhí)行權(quán)限
    chmod +x deploy-rustdesk.sh
    
  4. 運(yùn)行腳本
    ./deploy-rustdesk.sh
    
  5. 檢查輸出:腳本會(huì)輸出部署狀態(tài)、客戶(hù)端配置信息和公鑰。

客戶(hù)端配置

部署完成后,您需要在 RustDesk 客戶(hù)端中配置以下信息:

  • ID 服務(wù)器:您的服務(wù)器公網(wǎng) IP(例如 192.168.1.1)。
  • 中繼服務(wù)器:同 ID 服務(wù)器的 IP 地址。
  • Key (公鑰):腳本運(yùn)行后顯示的公鑰,或通過(guò)以下命令查看:
    cat rustdesk_server_data/hbbs/id_ed25519.pub
    

注意事項(xiàng)

  • 防火墻設(shè)置:確保防火墻或云服務(wù)提供商的安全組規(guī)則已開(kāi)放所需的 TCP 和 UDP 端口。
  • 密鑰管理:公鑰 (id_ed25519.pub) 必須正確配置到客戶(hù)端,否則無(wú)法連接。腳本自動(dòng)生成并顯示公鑰。
  • 持久化數(shù)據(jù):數(shù)據(jù)目錄 (rustdesk_server_data/hbbsrustdesk_server_data/hbbr) 存儲(chǔ)密鑰和其他持久化數(shù)據(jù),確保不要誤刪。
  • 日志排查:如果遇到問(wèn)題,可查看容器日志:
    sudo docker logs hbbs
    sudo docker logs hbbr
    

常見(jiàn)問(wèn)題

  • 連接失敗:檢查防火墻端口是否開(kāi)放,確認(rèn)客戶(hù)端的 ID 服務(wù)器、中繼服務(wù)器和公鑰是否正確。
  • 容器未運(yùn)行:使用 sudo docker ps -a 檢查容器狀態(tài),并查看日志以排查錯(cuò)誤。
  • 密鑰丟失:密鑰存儲(chǔ)在 rustdesk_server_data/hbbs 目錄下,備份該目錄以防止丟失。

到此這篇關(guān)于Docker輕松自建RustDesk服務(wù)器的文章就介紹到這了,更多相關(guān)Docker自建RustDesk服務(wù)器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • Docker跨服務(wù)器通信Overlay解決方案(上)之 Consul單實(shí)例

    Docker跨服務(wù)器通信Overlay解決方案(上)之 Consul單實(shí)例

    這篇文章主要介紹了Docker跨服務(wù)器通信Overlay解決方案(上)之 Consul單實(shí)例,本文通過(guò)場(chǎng)景分析實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • docker容器數(shù)據(jù)卷之具名掛載和匿名掛載問(wèn)題

    docker容器數(shù)據(jù)卷之具名掛載和匿名掛載問(wèn)題

    容器數(shù)據(jù)卷就是目錄的掛載,將我們的容器的目錄掛載到宿主機(jī)上,從而實(shí)現(xiàn)打通宿主機(jī)和容器之間的文件共享功能,這篇文章主要介紹了docker容器數(shù)據(jù)卷 - 具名掛載和匿名掛載問(wèn)題,需要的朋友可以參考下
    2021-11-11
  • 開(kāi)源框架?Matrix-Dendrite?搭建聊天服務(wù)器的詳細(xì)過(guò)程

    開(kāi)源框架?Matrix-Dendrite?搭建聊天服務(wù)器的詳細(xì)過(guò)程

    Matrix?是一個(gè)開(kāi)源、可交互、去中心化的實(shí)時(shí)通信服務(wù)框架。使用?Matrix?可以搭建安全的通信服務(wù)器,配合支持?Matrix?的客戶(hù)端可以實(shí)現(xiàn)個(gè)人、團(tuán)隊(duì)間的實(shí)時(shí)聊天交互,對(duì)Matrix?Dendrite搭建聊天服務(wù)器的過(guò)程感興趣的朋友一起看看吧
    2022-03-03
  • Docker安裝MongoDB的過(guò)程(mongo.latest)

    Docker安裝MongoDB的過(guò)程(mongo.latest)

    MongoDB是一種高性能、靈活的數(shù)據(jù)庫(kù),特別適合處理大量非結(jié)構(gòu)化數(shù)據(jù),它采用文檔數(shù)據(jù)模型,支持復(fù)雜的數(shù)據(jù)結(jié)構(gòu),提供類(lèi)似面向?qū)ο蟮牟樵?xún)語(yǔ)言,本文給大家介紹Docker安裝MongoDB的過(guò)程(mongo.latest),感興趣的朋友一起看看吧
    2024-11-11
  • Docker日志太多導(dǎo)致磁盤(pán)占滿(mǎn)的處理方法

    Docker日志太多導(dǎo)致磁盤(pán)占滿(mǎn)的處理方法

    這篇文章主要介紹了Docker日志太多導(dǎo)致磁盤(pán)占滿(mǎn)的處理方法,需要的朋友可以參考下
    2018-10-10
  • docker安裝prometheus和grafana的詳細(xì)過(guò)程

    docker安裝prometheus和grafana的詳細(xì)過(guò)程

    prometheus通過(guò)各種Exporter采集到監(jiān)控?cái)?shù)據(jù),然后存儲(chǔ)進(jìn)prometheus中,以供查詢(xún)展示,這篇文章主要介紹了docker安裝prometheus和grafana,需要的朋友可以參考下
    2023-02-02
  • docker守護(hù)進(jìn)程的配置和操作的方法

    docker守護(hù)進(jìn)程的配置和操作的方法

    這篇文章主要介紹了docker守護(hù)進(jìn)程的配置和操作的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • 群暉NAS利用Docker容器搭建KMS激活服務(wù)器實(shí)現(xiàn)激活windows系統(tǒng)和office(操作步驟)

    群暉NAS利用Docker容器搭建KMS激活服務(wù)器實(shí)現(xiàn)激活windows系統(tǒng)和office(操作步驟)

    本文跟大家分享一下如何利用群暉NAS的Docker容器套件搭建KMS服務(wù)器,并演示如何利用我們自己的KMS服務(wù)器激活Windows操作系統(tǒng)與Microsoft Office,感興趣的朋友跟隨小編一起看看吧
    2021-05-05
  • Docker部署RocketMQ的實(shí)現(xiàn)示例

    Docker部署RocketMQ的實(shí)現(xiàn)示例

    本文主要介紹了Docker部署RocketMQ的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-10-10
  • SEATA事務(wù)服務(wù)DOCKER部署的過(guò)程詳解

    SEATA事務(wù)服務(wù)DOCKER部署的過(guò)程詳解

    這篇文章主要介紹了SEATA事務(wù)服務(wù)DOCKER部署的過(guò)程詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03

最新評(píng)論