User Tools

Site Tools


installing_an_open_source_kms_server

Installing an Open Source KMS Server (Vlmcsd) on Linux


Prerequisite: Study up on the KMS technology; nearly all the necessary information can be found in the Microsoft KMS Volume Activation FAQ. See also a complete list of GVLK (Generic Volume License Keys) at the Microsoft Documentation Site. Finally, the legacy version of this document can be referenced here.

To run the KMS server in a docker container, see the next section.

Running the KMS server as a native process on Linux

Install the git and gcc packages using the package manager appropriate for the flavor of Linux being used (Ubuntu - apt, Redhat - yum).
Clone and install the vlmcsd package:

git clone https://github.com/Wind4/vlmcsd
cd vlmcsd
make

Change to the bin directory:

cd bin

Run the KMS server:

./vlmcsd

You will see the following message:

Connecting to 127.0.0.1:1688 ... successful
Sending activation request (KMS V6) 1 of 1 -> 55041-00206-559-475403-03-1076-6002.0000-1482020 (3A1C049600B60076)

This indicates the KMS server has been successfully compiled and run.

If running a firewall on the server, ensure TCP/1688 is opened.

To run vlmcsd automatically, create a daemon and manage it with systemd:

cp vlmcs /usr/bin
touch /etc/systemd/system/kms-script.service
chmod 664 /etc/systemd/system/kms-script.service
nano /etc/systemd/system/kms-script.service

Add the following service description to the new file:

[Unit]
Description=MSFT KMS Server Emulator
After=network.target
After=network-online.target
Wants=network-online.target
[Service]
Type=oneshot
ExecStart=/usr/bin/vlmcsd
RemainAfterExit=yes
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target

Then run the KMS service and add it to startup:

systemctl daemon-reload
systemctl start kms-script.service
systemctl status kms-script.service
systemctl enable kms-script.service

Running the KMS server in a docker container on Linux

Ensure docker is installed and running on the server

Execute the following commands:

sudo docker pull teddysun/kms:latest
sudo docker run -d -p 1688:1688 --restart=always --name kms_server teddysun/kms /vlmcsd -D -d -t 3 -e -v -R172800 -A10080

Executing via a docker compose file:

services: 
  kms:     
    image: teddysun/kms:latest
    container_name: kms 
    ports:
      - 1688:1688
    restart: always 

Activating Windows via the KMS Server

To activate Windows manually, set the GVLK for your Windows version, the IP address of your KMS activation host, and run the activation command. The following commands are used (for example, for Windows Server 2022 Standard):

slmgr.vbs -ipk VDYBN-27WPP-V4HQT-9VMD4-VMK7H

slmgr.vbs -skms 192.168.14.147

slmgr.vbs -ato

After you run the last command, you will see the message: Product activated successfully. This means that your Windows copy has been successfully activated.

You can check the Windows activation status using the command:

slmgr.vbs -dlv

installing_an_open_source_kms_server.txt · Last modified: 2024/12/27 20:50 by mike

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki