用吃灰的 vps 搭建 kms 服务器,可以激活 vol 版本的 Windows/Office 用来供学习使用🥤

安装 vlmcsd

下载最新版本的vlmcsd

解压后进入 linux 下的目录

tar -zxvf binaries.tar.gz
cd binaries/Linux/intel/static/

根据硬件和系统版本选择合适的程序授予执行权限后运行即可

可以用下面的命令指定运行的端口号(默认1688):

vlmcsd -L 0.0.0.0:xxxx

可以直接用 ip + 端口,也可以绑定域名并用 Nginx 进行转发

upstream kms_forward {
    server localhost:xxxx;
}

server {
    listen       80;
    server_name  kms.domain.com;
    access_log off;

    location / {
        proxy_pass http://backend$request_uri;
        proxy_set_header  Host $host:$server_port;
        proxy_set_header  X-Real-IP  $remote_addr;
        client_max_body_size  10m;
    }
}

最后设置开机启动,确保不会因为重启导致激活失败

修改 /etc/rc.local 的方式已不再推荐

/etc/rc.d/init.d 目录下新建文件,输入:

#!/bin/sh
#chkconfig: 2345 80 90
#description:kms
/[path]/kms

*注:

  • 2345 是指脚本的运行级别,linux 有 0~6 种状态,即在 2345 这 4 种模式下都可以运行,234 都是文本界面,5 就是图形界面
  • 80 是指脚本将来的启动顺序号,如果别的程序的启动顺序号比 70 小,则脚本需要等这些程序都启动以后才启动。
  • 90 是指系统关闭时,脚本的停止顺序号。

之后授予文件执行权限,并添加到开机自启动项目中

chkconfig --add kms
chkconfig kms on

检测是否可用

安装配置好之后可以在本地进行测试,推荐在 Windows Sandbox 中运行

还是下载同一个文件,用 Powershell 进入 \binaries\Windows\intel 目录,使用 ./vlmcs-Windows-x64.exe -x 命令查看支持的激活对象,输入以下命令进行检测:

./vlmcs-Windows-x86.exe -v -l [序号] [IP或domain]:[端口号]

激活 Windows/Office

首先查看官方文档,找到对应 Windows 或者 Office 的 Vol 密钥

Windows

安装从上面得到的 key:

slmgr /ipk xxxxx-xxxxx-xxxxx-xxxxx-xxxxx

设置 kms 服务器:

slmgr /skms [IP或domain]:[端口号]

激活系统:

slmgr /ato

Office

进入 Office 安装目录,64 位 Office 2016 默认为:

C:\Program Files\Microsoft Office\Office16

安装从上面得到的 key:

cscript ospp.vbs /inpkey:xxxxx-xxxxx-xxxxx-xxxxx-xxxxx

管理员运行 cmd,注册 kms 服务器地址:

cscript ospp.vbs /sethst:[IP或domain]:[端口号]

激活 Office:

cscript ospp.vbs /act

查看激活信息:

cscript ospp.vbs /dstatus

*注:

kms 方式激活的有效期为 180 天,系统会自动请求续期,只要服务不中断就能一直保持激活。