使用腾讯云轻量应用服务器自行搭建 KMS 服务

使用腾讯云轻量应用服务器自行搭建 KMS 服务

很多时候我们会选择使用使用 KMS 服务来激活 windows 和 Office,但公共的 KMS 服务通常是不稳定的,本文将会介绍几种快速部署私有 KMS 服务的方法。

什么是 KMS

KMS 是为在本地网络上激活 Microsoft 产品的一项服务,无需计算机连接到微软公司的服务器激活,以便于大批量的 windows 正版部署。

KMS 激活流程

  1. 将 KMS 安装在服务器上。
  2. 将 KMS 主机密钥(GVLK,将会在稍后介绍)安装在 KMS 客户端上。
  3. 启用 KMS 后,KMS 服务器会在每次启动 KMS 时或以每天一次的频率,在域名系统 (DNS) 中注册一条 SRV 记录。
  4. KMS 客户端从配置的注册表项或通过 DNS 中的 KMS SRV 记录发现 KMS 主机。
  5. 客户端通过 1688/TCP(默认设置)向 KMS 主机发送 RPC 请求。此请求包括加密的客户端计算机 ID。如果计算机从未被激活并且 KMS 主机没有响应,则客户端会在两个小时后发送新请求。如果计算机已激活,则客户端会在 7 天后发送新的重新激活请求。
  6. KMS 主机将客户端计算机 ID 添加到表中,并将激活计数返回给客户端。
  7. 客户端根据许可证策略评估激活计数,并在满足激活阈值时激活。

由此可以看出,整个过程除 KMS 客户端与服务端交互以外并没有多余的动作,关于网络上“使用 KMS 激活会让其他人能够控制你的计算机”的流言是完全错误的,你更应该防备的是某些来路不正的“一键激活”工具。

我没有微软公司提供的秘钥,自建 KMS 的原理?

通过逆向官方软件,我们得以了解 KMS 的工作原理,并伪造合法的 KMS 服务器响应以欺骗客户端。你可以通过阅读相关开源项目的代码来学习,不过不要真的在未经微软公司许可的情况下拿来激活 Windows(特别是企业)。注意,从 Windows 8.1开始,KMS服务器与客户机必须是两台不同的电脑。

搭建

本例中用到腾讯云轻量应用服务器,新用户低至 99 元,独享 CPU 和 6M 起步的带宽有超高的性价比,同时免费的 2Gbps 攻击防御为我们的 KMS 服务提供了一定的安全保障。
如果你介意 AFF,这里也有无 AFF 的链接(不过看在你阅读本文的缘分上,走下 AFF 又何妨 QAQ):正价轻量专场优惠轻量无忧计划

法一:使用 vlmcsd 手动搭建 kms 服务

这里使用 Linux 操作,在 Windows 上操作几乎一样,这里就不多赘述了。

vlmcsd 是一个用 C 语言实现的开源 KMS 模拟器,支持几乎所有的操作系统和处理器架构。

vlmcsd 是

  • 微软 KMS 服务器的替代品。
  • 它包含 vlmcs,一个 KMS 测试客户端,主要用于调试目的,也可以验证真正的 KMS 服务器。
  • 设计用于在永远在线或经常在线的设备上运行,例如路由器或 NAS ...
  • 旨在帮助那些失去合法拥有的许可证激活的人,例如因硬件(主板、CPU 等)的变化而失去激活的人

vlmcsd 不是

  • 一键激活或破解工具
  • 旨在激活非法软件副本(Windows、Office、Project、Visio)
  1. curl -o binaries.tar.gz https://github.com/Wind4/vlmcsd/releases/download/svn1113/binaries.tar.gz
    releases页 下载最新版本的 vlmcsd(示例代码使用 2020-03-28 编译版本),这里提供一份 2020-03-28 编译版本镜像

  2. tar zxvf ./binaries.tar.gz
    解压缩文件。

  3. chmod +x ./binaries/Linux/intel/glibc/vlmcsd-x64-glibc
    ./binaries/Linux/intel/glibc/vlmcsd-x64-glibc
    

    授予执行权限并运行 vlmcsd,默认会监听 1688 端口,注意成功后没有任何提示。

  4. chmod +x ./binaries/Linux/intel/glibc/vlmcs-x64-glibc
    ./binaries/Linux/intel/glibc/vlmcs-x64-glibc
    

    授予执行权限并运行 vlmcs,检查 vlmcsd 是否正常运行,默认检查本机 1688 端口。

  5. firewall-cmd --zone=public --add-port=1688/tcp --permanent
    在本机防火墙放通相关端口(本例使用的是 TCP/1688),若是你是用的云服务,也需要在控制台放通相关端口。

法二:在 Windows 上转发公有云厂商的 kms 服务

能白嫖啊?自建干什么?(战术后仰

注意只有几大叫得上名字的公有云能够保证是使用的 KMS 激活你的云服务器,其它小厂的云服务器不能保证。

注意:全程需要命令行工具需要被授予管理员权限

  1. 检查你的供应商提供的 KMS 服务器地址
    检查 KMS 服务器地址
    在 Windows 上使用命令 slmgr /dlv 找到本机已设置的 KMS 服务器地址。

  2. 配置端口转发
    在 Windows 上使用命令 netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=1688 connectaddress=<刚才得到的 IP> connectport=<刚才得到的端口号> 配置端口转发服务。

    其中:
    listenaddress:监听地址,0.0.0.0 表示监听所有地址。
    listenport:监听端口,指的是本地的端口。
    connectaddress:需要转发的主机 IP。
    connectport:需要转发的端口。

    在 Windows 上使用命令 netsh interface portproxy show all 检查配置端口转发服务,若成功应看到以下提示。
    配置端口转发

    记得在本机防火墙和云服务控制台放通相关端口放通相关端口(本例使用的是 TCP/1688)。

激活

注意:全程需要命令行工具需要被授予管理员权限。

注意,以下命令都只有在 VOL 版软件上有效,也就是说,零售版本的 Windows 和 Office 无法正常激活,什么是零售版?什么是批量激活版?如何将零售版转为批量激活版?请自行搜索。

Windows

  1. 安装 GVLK
    在 Windows 上使用命令 slmgr /ipk <GVLK> 安装 GVLK。
    每个操作系统对应不同的 GVLK,可以在官网找到,本文就不重复说明了

  2. 设置 KMS 服务器地址
    在 Windows 上使用命令 slmgr /skms <IP[:PORT]> 设置 KMS 服务器地址,端口若省略则默认是 1688 端口。

  3. 激活 Windows
    在 Windows 上使用命令 slmgr /ato 来激活 windows,若能连接 KMS 服务器,windows 将会自动续期。

Office

  1. 安装 GVLK
    在 Windows 上使用命令 cscript ospp.vbs /inpkey:<GVLK> 安装 GVLK。
    每个版本的 Office 对应不同的 GVLK,可以在官网找到。

    Office 2010
    Office 2013
    Office 2016
    Office 2019

  2. 设置 KMS 服务器地址
    在 Windows 上使用命令 cscript ospp.vbs /sethst:<IP[:PORT]> 设置 KMS 服务器地址,端口若省略则默认是 1688 端口。

  3. 激活 Office
    在 Windows 上使用命令 cscript ospp.vbs /act 来激活 Office,若能连接 KMS 服务器,Office 将会自动续期。


本文以 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议共享,转载请署名并保留来源。

posted @ 2021-07-29 17:46  keyword233  阅读(462)  评论(0)    收藏  举报