首页 > 代码库 > 使用py-kms搭建KMS服务器

使用py-kms搭建KMS服务器

前言

工作中我们会经常碰到Windows操作系统或者office激活的问题,大多数人都会网上找一些key或者KMS激活工具,用key的话会出现各种key都无效,用KMS的话害怕下载下来的有病毒,或者下载下来后会被电脑的杀毒软件给误杀。下面我们来介绍如何自己搭建一台属于我们自己的KMS服务器

KMS (Key Management Service )密钥管理服务,主要是针对Windows VL版本 批量激活而诞生,下面我们来介绍下Windows的系统版本

我们比较熟悉的版本是家庭版,旗舰版,企业版,专业版,这些版本还分为下面的小版本

Windows系统版本介绍:

版本缩写版本全称版本意义
Alpha版Alpha内部测试版,一般不会向外部发布,会有很多Bug,只供测试人员使用,如果您看到Alpha版本了,一般来讲对于微软来讲可能是个不好的消息。
Beta版Beta也是测试版,是继Alpha之后推出,这个阶段的版本会不断加入新的功能,改动也会较大,也会面向市场测试。
RC版ReleaseCandidate测试候选版本,WINDOWS RC版不会再加入新功能,主要测试软件内的BUG。需要激活。
RTM版Release to Manufacture或者Resin Transfer Molding供给生产工厂大量压片的版本,内容跟正式版是一样的,不过RTM版也会在时间上再次划分出限制版和评估版的。再次进行市场验证。天缘博客提醒您RTM版本也是需要激活才能使用的。
EVAL版Evaluation与“评估版”类似,功能上和零售版没有区别,需要激活。
CTP版Community Test Preview社区测试试用版
OEM版Original Equipment Manufacturer计算机厂商随机版,只能随计算机一对一出货,不可以单独零售。只能全新安不能从旧有操作系统升级,包装也不像零售版那样精美(反正是随机子打包的,穿的再好也没用*_*),通常只有一面CD盘和使用授权说明书。 比如联想、DELL等出售的WINDOWS操作系统计算机一般都是。
OEM版本一般不需要激活。
RTL版Retail正式零售版,供市面上架零售。
另外,在安装盘的i386文件夹里有一个eula.txt文件,最后有一行EULAID,就是你的版本标识。
简体中文正式版是EULAID:WX.4_PRO_RTL_CN;
繁体中文正式版是WX.4_PRO_RTL_TW;
其中:
WX.开头是正式版,WB.开头是测试版;
_PRE代表家庭版,_PRO代表专业版;
正版的零售版本一般都需要激活的。
VOL版Volume OR Volume Licensing for Organizations翻译过来就是组织团体批量许可,也就是大客户版,比如ZF部门、大型商业机构等统一购买的一般都是大客户版本,一般根据购买数量又可细分为开放式许可(Open License)、选择式许可(Select License)、企业许可协议(Enterprise Agreement)、教育科研许可(Academic Volume Licensing)等5种版本,根据VOL版本计划,VOL版本的WINDOWS是不需要激活的。

KMS激活原理


在使用 KMS 主机的环境中,批量激活过程如下:

 

1.    将 KMS 安装到服务器上

2.    将 KMS 主机密钥安装到 KMS 主机,然后联系微软进行激活

 

3.    KMS 启用后,每天启动的时候会在 DNS 中主次一条 SRV 记录

 

4.    客户端通过配置的注册条目或者 DNS 中的 KMS SRV 记录发现 KMS 主机


5.    客户端向 KMS 服务器的 TCP/1688 发送 RPC 请求,请求中包含一个加密的计算机 ID。如果该计算机尚未激活,并且 KMS 主机没有响应,客户端 2 小时后重新发送 请求。如果计算机已激活,客户端在 7 天后发送一个新请求。

 

6.    KMS 服务器将客户端计算机 ID 添加到一个表格中,并将激活计数返回给客户端

 

7.    客户端将激活计数值与授权策略对比,如果满足激活阀值条件,则进行激活。


KMS服务器安装

我这里采用是阿里云的 ECS,centos6.5 x64系统来配置的,也可以使用其他linux系统,所需程序有python  git 以及py-kms,另外需要argparse库。

安装过程很简单,yum安装即可

yum -y install git python-argparse
cd /usr/local/
git clone https://github.com/myanaloglife/py-kms.git

技术分享

nohup /usr/bin/python /usr/local/py-kms/server.py >/dev/null &

后台运行服务,使用ps -ef | grep python 查看 进程是否存在

技术分享

到这里,服务端就配置完成了。需要注意的是,放行1688端口,KMS服务器默认使用1688端口,可以将防火墙关闭做测试。接下来我们来配置客户端,客户端配置更简单,找到windows命令提示符邮件使用管理员权限打开,然后输入一条命令就搞定

cd "%SystemRoot%\system32"
cscript /nologo slmgr.vbs /skms 你的域名或IP(如cscript /nologo slmgr.vbs /skms  1.1.1.1)

技术分享技术分享

或者将下面的命令保存成bat文件执行下也可以

@echo off
set KmsServer=1.1.1.1
cscript /nologo "%windir%\system32\slmgr.vbs" /skms %KmsServer%
cscript  /nologo  "%windir%\system32\slmgr.vbs"  /ato
pause

KMSserver换成自己的KMS服务器的ip或者域名即可

office激活

对于Office软件VL版本,以管理员身份打开命令提示符,然后进入软件安装目录:

# 这里以Office 2013为例,32位版本:

cd "%ProgramFiles(x86)%\Microsoft Office\Office15"

# 64位版本:

cd "%ProgramFiles%\Microsoft Office\Office15"

然后执行以下命令:

cscript ospp.vbs /sethst:你的域名或IP(如cscript ospp.vbs /sethst:1.1.1.1) 
cscript ospp.vbs /act
cscript ospp.vbs /dstatus

通过以上步骤就可以激活你的Windows系统和Office软件(2小时内),但是值得注意的是,KMS方式激活的有效期只有180天,因此每不到半年需要重新激活一次。不过前面说过,客户端激活后默认7天会再次发送一次请求,只要KMS服务器存在,客户端则也一直处于激活状态。

感谢py-kms的作者,让我们不用在担心windows激活的问题啦

本文出自 “LyonZhao” 博客,请务必保留此出处http://lyonz.blog.51cto.com/4433157/1910010

使用py-kms搭建KMS服务器