在自己的 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 天,需定期续期。