Linux自建KMS服务器

今天来简单介绍一下如何自建KMS激活Windows以及Office。

KMS

KMS是一种专为中型和大型企业设计的Microsoft产品的激活方法。 在标准SOHO环境中,您在安装期间输入产品密钥,然后通过Internet激活产品。这是通过向microsoft.com上的服务器发送请求来完成的,然后该服务器授予或拒绝激活。

通过输入称为通用批量许可证密钥(GVLK)的特殊密钥(又名“KMS客户端密钥”),产品不再要求Microsoft服务器进行激活,而是通常驻留在公司内部网中的用户定义服务器(称为KMS服务器)。 Microsoft仅将其KMS服务器提供给签署了所谓“选择合同”的公司。

KMS激活大家应该比较熟悉,网上的激活工具基本都是使用KMS激活的,激活的期限一般是180天。不过激活工具相当于开了一个KMS服务器运行在你的电脑上,每过180天,系统会自动连接激活服务器进行激活,所以只要KMS服务器还在就不用担心失效的问题。如果KMS不在了,换一个即可,180天总能找到一个,或者像本文这样自建一个就不怕失效了。

vlmscd

vlmcsd是完全与Microsoft兼容的KMS服务器,是KMS服务器的一个独立开源实现,可供所有人使用。可为客户端提供产品激活服务,是Microsoft KMS服务器的直接替代品。可以在Windows和Linux上运行。可以运行在大多数嵌入式系统上,如路由器,NAS,移动电话,平板电脑,电视,机顶盒等。相对于Microsoft KMS服务器仅激活客户已支付的产品,vlmcsd从不拒绝激活。

虽然vlmcsd既不需要激活密钥也不需要付费,但它并不是宣扬盗版Windows。 其目的是确保合法副本的所有者可以无限制地使用他们的软件。例如,如果购买新计算机或主板,由于硬件更改,密钥将无法从Microsoft服务器激活,这种情况下可以通过使用vlmcsd激活来继续使用。

项目地址:Wind4/vlmcsd

安装Docker

为了避免系统环境不同引发未知问题,在这里使用Docker。

Ubuntu安装脚本:

1
wget -qO- https://get.docker.com/ | sh

CentOS安装脚本:

1
2
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

安装vlmscd

1
2
docker pull mikolatero/vlmcsd
docker run -d -p 1688:1688 --restart=always --name="vlmcsd" mikolatero/vlmcsd

防火墙

需要打开1688端口供vlmcsd使用。在这里举两个常用的。

UFW

1
ufw allow 1688

iptables

1
2
iptables -A INPUT -p tcp --dport 1688 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 1688 -j ACCEPT

激活

激活Windows

用管理员权限打开cmd(命令提示符),输入以下命令。

配置GVLK

一般情况下,新装的系统,没有输入过其他key的,系统会自带GVLK,可以忽略此步,当然做了也没有影响。输入过其他key的则需要此步。

将以下命令中的Key替换成对应系统版本的Key。

1
2
3
#slmgr /ipk GVLK
#Example:
slmgr /ipk GCRJD-8NW9H-F2CDX-CCM8D-9D6T9

部分GVLK列表

GVLK 系统版本
TX9XD-98N7V-6WMQ6-BX7FG-H8Q99 Windows 10 Home
3KHY7-WNT83-DGQKR-F7HPR-844BM Windows 10 Home N
7HNRX-D7KGG-3K4RQ-4WPJ4-YTDFH Windows 10 Home Single Language
PVMJN-6DFY6-9CCP6-7BKTT-D3WVR Windows 10 Home Country Specific
789NJ-TQK6T-6XTH8-J39CJ-J8D3P Windows 8.1 Professional with Media Center
M9Q9P-WNJJT-6PXPY-DWX8H-6XWKK Windows 8.1 Core
7B9N3-D94CG-YTVHR-QBPX3-RJP64 Windows 8.1 Core N
BB6NG-PQ82V-VRDPW-8XVD2-V8P66 Windows 8.1 Core Single Language
NCTT7-2RGK8-WMHRF-RY7YQ-JTXG3 Windows 8.1 Core Country Specific
GNBB8-YVD74-QJHX6-27H4K-8QHDG Windows 8 Professional with Media Center
BN3D2-R7TKB-3YPBD-8DRP2-27GG4 Windows 8 Core
8N2M2-HWPGY-7PGT9-HGDD8-GVGGY Windows 8 Core N
2WN2H-YGCQR-KFX6K-CD6TF-84YXQ Windows 8 Core Single Language
4K36P-JN4VD-GDC6V-KDT89-DYFKP Windows 8 Core Country Specific

更多GVLK点击这里查看。

配置使用KMS服务器

1
2
3
# slmgr /skms kms-server[:tcp-port]
# Example:
slmgr /skms 192.168.1.17:1688

将IP换成你的vlmscd所在服务器即可。1688是默认端口,如果之前是按照本文进行配置,此端口可以不写。

进行激活

1
slmgr /ato

等待一会儿会看到激活成功的提示。

可以输入以下命令查看激活状态,一般显示批量激活将于 xxxx/x/x xx:xx:xx 过期,一般是180天或45天的有效期。过期后,如果KMS服务器还在,会自动续期的。

1
slmgr /xpr

激活Office

你需要安装Vol版Office才能使用KMS。可以去MSDN上找一找,一般Vol版的文件都带VL,文件名一般以SW开头。

配置GVLK

同样,没装过key的,一般可以忽略此步。

将以下命令中的Key替换成对应软件版本的Key。

1
2
3
4
5
6
if exist "C:\Program Files (x86)\Microsoft Office\Office14\ospp.vbs" (cd "C:\Program Files (x86)\Microsoft Office\Office14") else (cd "c:\Program Files\Microsoft Office\Office14")
if exist "C:\Program Files (x86)\Microsoft Office\Office15\ospp.vbs" (cd "C:\Program Files (x86)\Microsoft Office\Office15") else (cd "c:\Program Files\Microsoft Office\Office15")
if exist "C:\Program Files (x86)\Microsoft Office\Office16\ospp.vbs" (cd "C:\Program Files (x86)\Microsoft Office\Office16") else (cd "c:\Program Files\Microsoft Office\Office16")
# cscript ospp.vbs /inpkey:GVLK
# Example:
cscript ospp.vbs /inpkey:YC7DK-G2NP3-2QQC3-J6H88-GVGXT

部分GVLK列表

GVLK 软件版本
NMMKJ-6RK4F-KMJVX-8D9MJ-6MWKP Office Professional Plus 2019
6NWWJ-YQWMR-QKGCB-6TMB3-9D9HK Office Standard 2019
B4NPR-3FKK7-T2MBV-FRQ4W-PKD2B Project Professional 2019
C4F7P-NCP8C-6CQPT-MQHV9-JXD2M Project Standard 2019
9BGNQ-K37YR-RQHF2-38RQ3-7VCBB Visio Professional 2019
7TQNQ-K3YQQ-3PFH7-CCPPM-X4VQ2 Visio Standard 2019
XQNVK-8JYDB-WJ9W3-YJ8YR-WFG99 Office Professional Plus 2016
JNRGM-WHDWX-FJJG3-K47QV-DRTFM Office Standard 2016
YG9NW-3K39V-2T3HJ-93F3Q-G83KT Project Professional 2016
GNFHQ-F6YQM-KQDGJ-327XX-KQBVC Project Standard 2016
PD3PC-RHNGV-FXJ29-8JK7D-RJRJK Visio Professional 2016
7WHWN-4T7MP-G96JF-G33KR-W8GF4 Visio Standard 2016

更多GVLK点击这里查看。

配置使用KMS服务器

将IP换成你的vlmscd所在服务器即可。1688是默认端口,如果之前是按照本文进行配置,第二条命令可以不写。

1
2
3
4
5
6
# cscript ospp.vbs /sethst:kms-server
# Example:
cscript ospp.vbs /sethst:192.168.1.17
# cscript ospp.vbs /setprt:tcp-port
# Example:
cscript ospp.vbs /setprt:1688

进行激活

1
cscript ospp.vbs /act

等一会儿会显示激活成功。

可以输入以下命令查看激活状态,一般是180天或45天的有效期。过期后,如果KMS服务器还在,会自动续期的。

1
cscript ospp.vbs /dstatus

后话

到此,自建KMS到激活都介绍完了,按照本文介绍应该已经正常激活了,享受你的软件吧。如果KMS服务器出现问题,180天应该早就解决了吧。