1. 程式人生 > 其它 >使用騰訊雲輕量應用伺服器自行搭建 KMS 服務

使用騰訊雲輕量應用伺服器自行搭建 KMS 服務

詳細介紹了兩個自行搭建 KMS 服務的方法

使用騰訊雲輕量應用伺服器自行搭建 KMS 服務

很多時候我們會選擇使用使用 KMS 服務來啟用 windows 和 Office,但公共的 KMS 服務通常是不穩定的,本文將會介紹幾種快速部署私有 KMS 服務的方法。

什麼是 KMS

KMS 是為在本地網路上啟用 Microsoft 產品的一項服務,無需計算機連線到微軟公司的伺服器啟用,以便於大批量的 windows 正版部署。

KMS 啟用流程

  1. 將 KMS 安裝在伺服器上。
  2. 將 KMS 主機金鑰(GVLK,將會在稍後介紹)安裝在 KMS 客戶端上。
  3. 啟用 KMS 後,KMS 伺服器會在每次啟動 KMS 時或以每天一次的頻率,在域名系統 (DNS) 中註冊一條 SRV 記錄。
  4. KMS 客戶端從配置的登錄檔項或通過 DNS 中的 KMS SRV 記錄發現 KMS 主機。
  5. 客戶端通過 1688/TCP(預設設定)向 KMS 主機發送 RPC 請求。此請求包括加密的客戶端計算機 ID。如果計算機從未被啟用並且 KMS 主機沒有響應,則客戶端會在兩個小時後傳送新請求。如果計算機已啟用,則客戶端會在 7 天后傳送新的重新啟用請求。
  6. KMS 主機將客戶端計算機 ID 新增到表中,並將啟用計數返回給客戶端。
  7. 客戶端根據許可證策略評估啟用計數,並在滿足啟用閾值時啟用。

由此可以看出,整個過程除 KMS 客戶端與服務端互動以外並沒有多餘的動作,關於網路上“使用 KMS 啟用會讓其他人能夠控制你的計算機”的流言是完全錯誤的,你更應該防備的是某些來路不正的“一鍵啟用”工具。

我沒有微軟公司提供的祕鑰,自建 KMS 的原理?

通過逆向官方軟體,我們得以瞭解 KMS 的工作原理,並偽造合法的 KMS 伺服器響應以欺騙客戶端。你可以通過閱讀相關開源專案的程式碼來學習,不過不要真的在未經微軟公司許可的情況下拿來啟用 Windows(特別是企業)。注意,從 Windows 8.1開始,KMS伺服器與客戶機必須是兩臺不同的電腦。

搭建

本例中用到騰訊雲輕量應用伺服器,新使用者低至 99 元,獨享 CPU 和 6M 起步的頻寬有超高的價效比,同時免費的 2Gbps 攻擊防禦為我們的 KMS 服務提供了一定的安全保障。
如果你介意 AFF,這裡也有無 AFF 的連結(不過看在你閱讀本文的緣分上,走下 AFF 又何妨 QAQ):

正價輕量專場優惠輕量無憂計劃

法一:使用 vlmcsd 手動搭建 kms 服務

這裡使用 Linux 操作,在 Windows 上操作幾乎一樣,這裡就不多贅述了。

vlmcsd 是一個用 C 語言實現的開源 KMS 模擬器,支援幾乎所有的作業系統和處理器架構。

vlmcsd 是

  • 微軟 KMS 伺服器的替代品。
  • 它包含 vlmcs,一個 KMS 測試客戶端,主要用於除錯目的,也可以驗證真正的 KMS 伺服器。
  • 設計用於在永遠線上或經常線上的裝置上執行,例如路由器或 NAS ...
  • 旨在幫助那些失去合法擁有的許可證啟用的人,例如因硬體(主機板、CPU 等)的變化而失去啟用的人

vlmcsd 不是

  • 一鍵啟用或破解工具
  • 旨在啟用非法軟體副本(Windows、Office、Project、Visio)
  1. curl -o binaries.tar.gz https://github.com/Wind4/vlmcsd/releases/download/svn1113/binaries.tar.gz
    releases頁 下載最新版本的 vlmcsd(示例程式碼使用 2020-03-28 編譯版本),這裡提供一份 2020-03-28 編譯版本映象

  2. tar zxvf ./binaries.tar.gz
    解壓縮檔案。

  3. chmod +x ./binaries/Linux/intel/glibc/vlmcsd-x64-glibc
    ./binaries/Linux/intel/glibc/vlmcsd-x64-glibc
    

    授予執行許可權並執行 vlmcsd,預設會監聽 1688 埠,注意成功後沒有任何提示。

  4. chmod +x ./binaries/Linux/intel/glibc/vlmcs-x64-glibc
    ./binaries/Linux/intel/glibc/vlmcs-x64-glibc
    

    授予執行許可權並執行 vlmcs,檢查 vlmcsd 是否正常執行,預設檢查本機 1688 埠。

  5. firewall-cmd --zone=public --add-port=1688/tcp --permanent
    在本機防火牆放通相關埠(本例使用的是 TCP/1688),若是你是用的雲服務,也需要在控制檯放通相關埠。

法二:在 Windows 上轉發公有云廠商的 kms 服務

能白嫖啊?自建幹什麼?(戰術後仰

注意只有幾大叫得上名字的公有云能夠保證是使用的 KMS 啟用你的雲伺服器,其它小廠的雲伺服器不能保證。

注意:全程需要命令列工具需要被授予管理員許可權

  1. 檢查你的供應商提供的 KMS 伺服器地址

    在 Windows 上使用命令 slmgr /dlv 找到本機已設定的 KMS 伺服器地址。

  2. 配置埠轉發
    在 Windows 上使用命令 netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=1688 connectaddress=<剛才得到的 IP> connectport=<剛才得到的埠號> 配置埠轉發服務。

    其中:
    listenaddress:監聽地址,0.0.0.0 表示監聽所有地址。
    listenport:監聽埠,指的是本地的埠。
    connectaddress:需要轉發的主機 IP。
    connectport:需要轉發的埠。

    在 Windows 上使用命令 netsh interface portproxy show all 檢查配置埠轉發服務,若成功應看到以下提示。

    記得在本機防火牆和雲服務控制檯放通相關埠放通相關埠(本例使用的是 TCP/1688)。

啟用

注意:全程需要命令列工具需要被授予管理員許可權。

注意,以下命令都只有在 VOL 版軟體上有效,也就是說,零售版本的 Windows 和 Office 無法正常啟用,什麼是零售版?什麼是批量啟用版?如何將零售版轉為批量啟用版?請自行搜尋。

Windows

  1. 安裝 GVLK
    在 Windows 上使用命令 slmgr /ipk <GVLK> 安裝 GVLK。
    每個作業系統對應不同的 GVLK,可以在官網找到,本文就不重複說明了

  2. 設定 KMS 伺服器地址
    在 Windows 上使用命令 slmgr /skms <IP[:PORT]> 設定 KMS 伺服器地址,埠若省略則預設是 1688 埠。

  3. 啟用 Windows
    在 Windows 上使用命令 slmgr /ato 來啟用 windows,若能連線 KMS 伺服器,windows 將會自動續期。

Office

  1. 安裝 GVLK
    在 Windows 上使用命令 cscript ospp.vbs /inpkey:<GVLK> 安裝 GVLK。
    每個版本的 Office 對應不同的 GVLK,可以在官網找到。

    Office 2010
    Office 2013
    Office 2016
    Office 2019

  2. 設定 KMS 伺服器地址
    在 Windows 上使用命令 cscript ospp.vbs /sethst:<IP[:PORT]> 設定 KMS 伺服器地址,埠若省略則預設是 1688 埠。

  3. 啟用 Office
    在 Windows 上使用命令 cscript ospp.vbs /act 來啟用 Office,若能連線 KMS 伺服器,Office 將會自動續期。


本文以 署名-非商業性使用-相同方式共享 4.0 國際 (CC BY-NC-SA 4.0) 協議共享,轉載請署名並保留來源。