自分の VPS にプライベート KMS サーバーをデプロイ
このチュートリアルでは KMS プロトコルの仕組みと、学習と研究目的のみで Linux VPS にプライベート KMS サーバーをデプロイする方法を説明します。すべての手順は GitHub のオープンソースプロジェクトを参照しています。
なぜ KMS サーバーを自己ホストするのか?
- ✓ KMS 認証プロトコルの実際の動作を学ぶ
- ✓ ポート 1688 でのクライアントサーバー通信を研究する
- ✓ ラボ環境でボリュームライセンスを実験する
- ✓ サードパーティの公開 KMS ノードへの依存を避ける
前提条件
- • Linux VPS(Ubuntu 20.04+ または Debian 11+ 推奨)
- • SSH 経由の root または sudo アクセス
- • Linux コマンドラインの基本的な知識
- • ファイアウォールでポート 1688 を開放
KMS プロトコルアーキテクチャ
Microsoft KMS(キー管理サービス)は企業環境向けのクライアントサーバー認証モデルです。クライアントは <code>TCP ポート 1688</code> で KMS サーバーに認証リクエストを送信し、サーバーは 180 日間有効なライセンストークンを返します。クライアントは 7 日ごとに自動更新します。
- 1 クライアントが
slmgr /skms your-server-ipを実行して KMS ホストを設定 - 2 クライアントが
slmgr /atoを実行して認証リクエストを送信 - 3 KMS サーバーが GVLK を検証してトークンで応答
- 4 クライアントは 180 日間認証され、7 日ごとに自動更新
セットアップ手順
ステップ 1:VPS を取得
VPS プロバイダーを選択して Linux インスタンスを作成します。1 vCPU + 512MB RAM で十分です — KMS はほとんどリソースを使用しません。
ステップ 2:vlmcsd をインストール
vlmcsd はオープンソースの KMS エミュレーターです。GitHub で vlmcsd を検索してください。以下は一般的なインストール手順です:
# GitHub から最新リリースをダウンロード
cd /tmp
# wget https://github.com/.../vlmcsd-...-linux-x64
# chmod +x vlmcsd
# mv vlmcsd /usr/local/bin/ ステップ 3:ファイアウォールポート 1688 を開放
KMS は TCP ポート 1688 を使用します。ファイアウォールで開放されていることを確認してください:
# UFW(Ubuntu/Debian)
sudo ufw allow 1688/tcp
# firewalld(CentOS/RHEL)
sudo firewall-cmd --permanent --add-port=1688/tcp
sudo firewall-cmd --reload ステップ 4:サービスを開始
vlmcsd をバックグラウンドで実行:
# vlmcsd を開始(デフォルトでデーモンとして実行)
vlmcsd
# 実行中か確認
netstat -tlnp | grep 1688 ステップ 5:クライアントから接続
Windows マシンで管理者として CMD/PowerShell を開いて:
slmgr /skms YOUR_VPS_IP
slmgr /ato 代替:Docker デプロイ
Docker を使用する場合は、Docker Hub で vlmcsd イメージを検索してください:
docker run -d --name vlmcsd -p 1688:1688 --restart=always mikolatero/vlmcsd 起動時の自動起動(systemd)
再起動後も vlmcsd を実行し続けるために systemd サービスファイルを作成:
sudo tee /etc/systemd/system/vlmcsd.service << 'EOF'
[Unit]
Description=vlmcsd KMS Emulator
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/bin/vlmcsd
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable vlmcsd
sudo systemctl start vlmcsd サーバーを確認
KMS サーバーステータス確認ツールを使用して、ポート 1688 でサーバーにアクセスできるかテストしてください。
重要なお知らせ
- • このチュートリアルは学習と研究のみを目的としています。未承認の認証には使用しないでください。
- • vlmcsd はサードパーティのオープンソースプロジェクトです。ソフトウェアはホストまたは配布していません。
- • 本番環境では公式の Microsoft ボリュームライセンスを使用してください。
- • KMS 認証は 180 日間有効で、定期的な更新が必要です。