首页 > 代码库 > 使用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服务器