KMS激活的原理 KMS又叫windows秘钥管理服务,由于Windows VL都是为批量激活而诞生,所以在一个激活单位中肯定会有很多台配置相等的计算机,并用一个服务器建立起一个局域网(LAN),而KMS正好利用这一点,它要求局域网中必须有一台KMS服务器,KMS服务器的作用是给局域网中的所有计算机的操作系统定周期(一般是180天)提供一个随机的激活ID(不同于产品激活密钥),然后计算机里面的KMS服务就会自动将系统激活,实现正常的系统软件服务与操作。所以计算机必须保持与KMS服务器的定期连接,以便KMS激活服务的自动检查实现激活的自动续期,这样就实现了限制于公司域内的激活范围,避免了对于外界计算机的非法授权,当非法激活者离开公司域后,由于客户端KMS服务不能连接位于域内的KMS激活服务器,让它提供一个新的序列号,超过180天以后就会因为激活ID过期而重新回到试用版本状态,而合法授权者则能够定期获得ID更新,保持一直正确的激活状态。


    以上内容引自自百度百科。

    KMS激活适用于批量激活的windows系统和office,版本后面带”VL”字样的。通过搭建KMS服务器,我们在激活windows和office的时候,直接向自建的KMS服务器请求激活并返回同意激活的结果,直接完成激活,不需要去网上下软件,非常方便。
    附KMS激活原理图:
    如何在Linux服务器上搭建KMS激活服务 - 图1


    准备工具:wincsp,xshell5.

    以下步骤以本站(www.xiaoweigod.com)的KMS激活服务为例,一步一步搭建KMS激活服务器。本次操作环境为centos7.3,服务器为阿里云服务器。至于激活的服务端,找了很久,在github上发现了这个kms激活服务程序,还是很好用的。

    第一步 安装py-kms服务端

    用xshell连接上自己的服务器,执行

    1. yum -y install python-argparse //安装依赖环境
    2. yum -y install git //安装git
    3. git clone https://github.com/myanaloglife/py-kms //从github克隆pykms


    第二步 开启kms服务
    执行完以上命令,py-kms服务端已经被下载到了服务器上,接下来我们要将KMS专用的1688端口开放(非阿里云可以忽视下面的步骤)。
    打开阿里云控制台-云服务器ECS-进入云服务器-更多-安全组配置-配置规则-添加安全组规则
    如何在Linux服务器上搭建KMS激活服务 - 图2
    添加的规则配置如下,开放1688端口任何ip地址都可以访问。
    如何在Linux服务器上搭建KMS激活服务 - 图3

    配置完成安全组后,执行

    1. cd py-kms
    2. python server.py

    开启KMS服务,如看到以下内容,则表示开启成功。

    1. TCP server listening at 0.0.0.0 on port 1688.


    第三步 长期运行配置
    上一步开启了kms激活服务,但是只要关掉xshell命令行窗口,那么kms激活服务就会立马关闭,所以我们需要配置其在后台运行并能够开机自启和崩溃重启。
    要实现以上功能,则需要通过supervisor来守护进程。
    复制py-kms文件夹到 /usr/local文件夹下:

    1. cd /root
    2. cp -r py-kms /usr/local/

    安装supervisor:

    1. yum -y install python-setuptools
    2. easy_install supervisor

    生成supervisor的配置文件:

    1. echo_supervisord_conf > /etc/supervisord.conf

    用winscp打开 /etc/supervisord.conf并编辑,在最末尾加入:

    1. [program:pykms]
    2. command=python /usr/local/py-kms/server.py
    3. autorestart=true
    4. user=root

    保存配置文件之后,执行以下命令启动supervisor

    1. supervisord

    看到几行命令,包含如下内容则表示守护进程启动成功:

    1. 'Supervisord is running as root and it is searching '

    接下来执行

    1. supervisorctl

    我们可以看到当前守护的进程,其中有如下pykms就成功了。
    如何在Linux服务器上搭建KMS激活服务 - 图4

    第四步 设置服务器的域名解析
    上面三步以后我们的服务器已经有了长期的KMS激活服务了,但是每次激活的时候需要设置kms服务器地址,而服务器的IP地址难记住,所以我们需要设置服务器的域名解析,将域名指向这个IP地址,就无需再去记IP地址了。
    打开域名申请服务商,比如我是阿里云万网:
    打开阿里云-控制台-域名与万网-域名-选择自己的域名后面并解析。
    (本站的kms服务器地址是kms.xiaoweigod.com,因为www.xiaoweigod.com和xiaoweigod.com因为开了web服务,并接入了CDN,这个域名解析出来的地址不会是源站地址,因此添加了一个二级域名kms来指向自己的阿里云服务器,并且还好记。)
    如图添加一条A解析记录,主机记录为 kms ,记录值为服务器的IP。即将kms.xiaoweigod.com直接指向自己服务器的IP地址。
    如何在Linux服务器上搭建KMS激活服务 - 图5
    解析完成后,我们就可以将kms.xiaoweigod.com作为KMS激活服务器的地址了。