在自己的 VPS 上部署私有 KMS 服務

本教學介紹 KMS 協議的工作原理,以及如何在 Linux VPS 上部署私有 KMS 伺服器,僅供學習和研究使用。所有步驟引用的均為 GitHub 上的開源專案。

為什麼要自建 KMS 伺服器?

  • 實際學習 KMS 啟用協議的運作機制
  • 研究客戶端與伺服器在 1688 埠上的通訊過程
  • 在實驗環境中研究大量授權啟用流程
  • 避免依賴第三方公共 KMS 節點

準備工作

  • 一台 Linux VPS(推薦 Ubuntu 20.04+ 或 Debian 11+)
  • Root 或 sudo 權限,可透過 SSH 登入
  • 基本的 Linux 命令列操作能力
  • 防火牆開放 1688 埠

KMS 協議架構

Microsoft KMS(金鑰管理服務)是一種面向企業的客戶端-伺服器啟用模型。客戶端通過 <code>TCP 1688 埠</code> 向 KMS 伺服器發送啟用請求,伺服器回應一個有效期 180 天的授權令牌。客戶端每 7 天自動續期一次。

  1. 1 客戶端執行 slmgr /skms 你的伺服器IP 設定 KMS 主機
  2. 2 客戶端執行 slmgr /ato 發送啟用請求
  3. 3 KMS 伺服器驗證 GVLK 並返回授權令牌
  4. 4 客戶端啟用 180 天,每 7 天自動續期

架設步驟

第一步:購買 VPS

選擇一家 VPS 服務商並建立 Linux 實例。KMS 服務資源消耗極低,<strong>1 核 CPU + 512MB 記憶體</strong>即可滿足。

第二步:安裝 vlmcsd

vlmcsd 是一個開源的 KMS 模擬器,可在 GitHub 上搜尋 <code>vlmcsd</code> 取得。以下是通用安裝步驟:

# 從 GitHub 下載最新版本
cd /tmp
# wget https://github.com/.../vlmcsd-...-linux-x64
# chmod +x vlmcsd
# mv vlmcsd /usr/local/bin/

第三步:開放防火牆 1688 埠

KMS 使用 TCP 1688 埠,確保防火牆已開放:

# UFW(Ubuntu/Debian)
sudo ufw allow 1688/tcp

# firewalld(CentOS/RHEL)
sudo firewall-cmd --permanent --add-port=1688/tcp
sudo firewall-cmd --reload

第四步:啟動服務

在背景執行 vlmcsd:

# 啟動 vlmcsd(預設以常駐程序方式執行)
vlmcsd

# 驗證是否在執行
netstat -tlnp | grep 1688

第五步:客戶端連接

在 Windows 電腦上,以管理員身份開啟 CMD/PowerShell:

slmgr /skms 你的VPS_IP位址
slmgr /ato

方案二:Docker 部署

如果你更喜歡 Docker,可以在 Docker Hub 搜尋 <code>vlmcsd</code> 映像:

docker run -d --name vlmcsd -p 1688:1688 --restart=always mikolatero/vlmcsd

開機自啟(systemd)

建立 systemd 服務檔,讓 vlmcsd 開機自動啟動:

sudo tee /etc/systemd/system/vlmcsd.service << 'EOF'
[Unit]
Description=vlmcsd KMS Emulator
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/bin/vlmcsd
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable vlmcsd
sudo systemctl start vlmcsd

驗證你的伺服器

使用我們的 KMS 服務狀態檢測工具測試你的伺服器在 1688 埠是否可達。

重要聲明

  • • 本教學僅供學習和研究使用,不得用於未授權的軟體啟用。
  • • vlmcsd 是第三方開源專案,本站不託管也不分發該軟體。
  • • 生產環境請使用微軟官方大量授權方案。
  • • KMS 啟用有效期為 180 天,需定期續期。