在部署多台樹莓派並使用 RustDesk 遠端桌面時,常會遇到一個問題:
如果直接用 Win32 Disk Imager 或其他方式「完整 Clone SD 卡」,結果每台樹莓派的 RustDesk ID 都一模一樣。
這會導致:
- 多台機器無法被正確區分
- 遠端連線經常混亂,甚至誤連到錯的樹莓派
那麼,RustDesk 的 ID 到底是怎麼生成的?要怎麼正確重置呢?
為什麼會 ID 一樣?
RustDesk 的 ID 並不是隨機數字,而是依據 系統的唯一標識(/etc/machine-id)+ 金鑰 來生成。
在 Linux 系統裡,/etc/machine-id
是由 systemd 在系統安裝時生成的一個 UUID,很多程式會用它來當「裝置身份」。
所以當我們 Clone SD 卡 的時候,/etc/machine-id
也一起被複製過去了 → 對 RustDesk 來說,這些樹莓派就是「同一台機器」 → ID 完全一樣。
解決方法:重置 machine-id
只要讓每台樹莓派在 clone 後 重新生成一個新的 machine-id,RustDesk 啟動時就會拿到不同的 ID。
步驟如下:
# 停止 RustDesk
sudo systemctl stop rustdesk
# 刪除舊的 machine-id
sudo rm /etc/machine-id
# 重新生成新的 machine-id
sudo systemd-machine-id-setup
# 重啟 RustDesk
sudo systemctl start rustdesk
執行後,打開 RustDesk 你就會發現它的 ID 已經換成全新的數字。
延伸說明
~/.config/rustdesk/
這裡存放的是 RustDesk 的金鑰、公私鑰與伺服器設定。如果你只想換 ID,不需要刪這些檔案。
多台樹莓派部署
若要批量複製 SD 卡,可以在 clone 完後,第一次開機時自動執行這段指令,避免所有機器 ID 撞車。
Windows 系統
Windows 上 RustDesk ID 的生成機制不同,依賴的是註冊表與 %APPDATA%\RustDesk
內的金鑰檔,不會用到 /etc/machine-id
。
結論
RustDesk 在 Linux / 樹莓派上,ID 與 /etc/machine-id
強烈綁定。
只要在 clone SD 卡後 重新生成 machine-id,每台機器就能獲得獨立的 RustDesk ID,避免連線混亂。