SSH を使用して Windows VM に接続する


このドキュメントでは、SSH を使用して Windows 仮想マシン(VM)インスタンスに接続する方法について説明します。Windows VM に接続する他の方法については、RDP を使用して Windows VM に接続するPowerShell を使用して Windows VM に接続するをご覧ください。Compute Engine で SSH がどのように機能するかについては、SSH 接続についてをご覧ください。

始める前に

  • まだ設定していない場合は、認証を設定します。認証とは、Google Cloud のサービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のいずれかのオプションを選択して Compute Engine に対する認証を行います。

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.

対応イメージ

Windows の SSH は、ゲスト エージェント(GCEGuestAgent)バージョン 20220527.00 以降または OpenSSH バージョン 8.6 以降を実行する Windows Server イメージでサポートされています。

Windows VM の SSH を有効にする

Windows VM への SSH 接続を有効にするには、google-compute-engine-ssh パッケージをインストールし、プロジェクトまたはインスタンス メタデータで enable-windows-ssh 鍵を TRUE に設定します。プロジェクト メタデータで Windows の SSH を有効にすると、プロジェクト内のすべての Windows VM の SSH が有効になります。インスタンス メタデータで Windows の SSH を有効にすると、単一の VM の SSH が有効になり、プロジェクト メタデータに設定された値がオーバーライドされます。

VM の作成中に Windows の SSH を有効にする

Google Cloud コンソール または Google Cloud CLI を使用して、VM の作成中に Windows 向け SSH を有効にします。

コンソール

公開イメージから VM を作成します。これにより、google-compute-engine-ssh パッケージがインストールされ、起動時に SSH が有効になります。

  1. ブートディスクのプロパティを次のように指定します。

    • オペレーティング システム: Windows Server
    • [バージョン]: 任意のバージョン
  2. [詳細オプション] セクションで、[管理] セクションを開きます。

  3. [カスタム メタデータ] セクションで [項目を追加] をクリックします。 次のメタデータの Key-Value ペアを入力して、google-compute-engine-ssh パッケージをインストールする起動スクリプトを追加します。

    • キー: sysprep-specialize-script-cmd
    • Value: googet -noconfirm=true install google-compute-engine-ssh
  4. [カスタム メタデータ] セクションで [項目を追加] をクリックします。 次のメタデータの Key-Value ペアを入力して、enable-windows-sshTRUE に設定します。

    • キー: enable-windows-ssh
    • Value: TRUE
  5. [作成] をクリックして VM を作成し、起動します。

gcloud

次の gcloud compute instances create コマンドを実行して Windows Server VM を作成します。これにより、google-compute-engine-ssh パッケージがインストールされ、起動時に SSH が有効になります。

gcloud compute instances create VM_NAME \
    --image-family=IMAGE_FAMILY \
    --image-project=windows-cloud \
    --metadata sysprep-specialize-script-cmd="googet -noconfirm=true install google-compute-engine-ssh",enable-windows-ssh=TRUE

以下を置き換えます。

  • VM_NAME: 新しい VM の名前。
  • IMAGE_FAMILY: Windows Server イメージ ファミリー。これにより、これにより、最新の非推奨ではない Windows Server イメージから VM が作成されます。

実行中の VM で Windows の SSH を有効にする

実行中の Windows VM で SSH を有効にするには、RDP を使用して VM にアクセスできるか、ワークロードが再起動に耐えられるかどうかに応じて、次のいずれかを行います。

  • RDP アクセスが必要な場合: RDP を使用して VM に接続し、SSH パッケージをインストールします。
  • 再起動が必要な場合: 起動スクリプトを使用して SSH パッケージをインストールします。

RDP

RDP を使用して VM にアクセスできる場合は、次の手順で SSH を有効にします。

  1. RDP を使用して VM に接続します。

  2. 次の手順で管理者のコマンド プロンプト セッションを開きます。

    1. スタート メニューを開きます。

    2. [コマンド プロンプト] に移動します。

    3. [コマンド プロンプト] を右クリックし、[管理者として実行] を選択します。

      コマンド プロンプトにデバイスの変更を許可するように求められたら、[はい] を選択します。

  3. 次のコマンドを実行して、google-compute-engine-ssh パッケージをダウンロードしてインストールします。

    googet -noconfirm=true install google-compute-engine-windows && googet -noconfirm=true install google-compute-engine-ssh
    
  4. RDP セッションを閉じます。

  5. enable-windows-ssh 鍵を TRUE に設定して、メタデータで Windows SSH を有効にします。メタデータの設定の詳細については、カスタム メタデータを設定するをご覧ください。

起動スクリプト

RDP を使用して VM にアクセスできない場合は、次の手順で SSH を有効にします。

  1. VM を停止します

  2. SSH を有効にするには、VM で次のメタデータの Key-Value ペアを設定します。メタデータの設定の詳細については、カスタム メタデータを設定するをご覧ください。

    • SSH パッケージのインストール メタデータ:

      • キー: windows-startup-script-cmd
      • : googet -noconfirm=true update && googet -noconfirm=true install google-compute-engine-ssh
    • SSH 有効化メタデータ:

      • キー: enable-windows-ssh
      • : TRUE
  3. VM を起動します。 VM の再起動には数分かかることがあります。

SSH を使用して VM に接続する

gcloud compute ssh コマンドを使用して VM に接続します。

gcloud compute ssh VM_NAME

VM_NAME は、接続する Windows VM の名前に置き換えます。

AD を使用する VM に接続する

接続先の VM が Active Directory(AD)を使用している場合は、次のコマンドを使用して接続します。

gcloud compute ssh DOMAIN\USERNAME@VM_NAME

以下を置き換えます。

  • DOMAIN: AD ドメイン。たとえば、ad.example.com AD のドメインは example です。
  • USERNAME: AD ユーザー名。例: cloudysanfrancisco
  • VM_NAME: 接続先の Windows VM の名前。

次のステップ