在自己的 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 客戶端執行
slmgr /skms 你的伺服器IP設定 KMS 主機 - 2 客戶端執行
slmgr /ato發送啟用請求 - 3 KMS 伺服器驗證 GVLK 並返回授權令牌
- 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 天,需定期續期。