Azure Bastion を使用して Windows VM への SSH 接続を作成する

この記事では、Azure 仮想ネットワーク内にある Windows VM への SSH 接続を、Azure portal から直接、安全かつシームレスに作成する方法について説明します。 Azure Bastion を使用する場合、VM にクライアント、エージェント、追加のソフトウェアは不要です。 RDP を使用して Windows VM に接続することもできます。 詳細については、Windows VM への RDP 接続の作成に関する記事を参照してください。

Azure Bastion は、プロビジョニングされる仮想ネットワーク内のすべての VM に対して安全な接続を提供します。 Azure Bastion を使用すると、RDP または SSH を使用した安全なアクセスを提供しながら、お使いの仮想マシンが RDP または SSH ポートを外部に公開しないように保護されます。 詳細については、「Azure Bastion とは」を参照してください。

Note

Windows VM への SSH 接続を作成する場合は、Standard SKU を使用して Azure Bastion を構成する必要があります。

SSH を使用して Windows 仮想マシンに接続する場合は、認証にユーザー名およびパスワードと SSH キーの両方を使用できます。

SSH 秘密キーは、"-----BEGIN RSA PRIVATE KEY-----" で始まり、"-----END RSA PRIVATE KEY-----" で終わる形式である必要があります。

前提条件

VM が存在する仮想ネットワークの Azure Bastion ホストが設定されていることを確認します。 詳細については、Azure Bastion ホストの作成に関する記事をご覧ください。 Bastion サービスをプロビジョニングし、仮想ネットワークにデプロイしたら、それを使用してこの仮想ネットワーク内の任意の VM に接続できます。

Windows の仮想マシンに SSH 接続するには、次のことも確認する必要があります。

  • Windows 仮想マシンで Windows Server 2019 以降が実行されている。
  • Windows 仮想マシンに OpenSSH サーバーがインストールされ、実行されている。 これを行う方法については、OpenSSH のインストールに関する記事を参照してください。
  • Azure Bastion は、Standard SKU を使用するように構成されています。

必要なロール

接続を作成するには、次のロールが必要です。

  • 仮想マシンに対する閲覧者ロール
  • 仮想マシンのプライベート IP を使用する NIC に対する閲覧者ロール
  • Azure Bastion リソースに対する閲覧者ロール
  • ターゲット仮想マシンの仮想ネットワークに対する閲覧者ロール (Bastion デプロイが、ピアリングされた仮想ネットワーク内の場合)。

Port

SSH 経由で Windows VM に接続するには、お使いの VM で次のポートを開いておく必要があります。

  • 受信ポート: SSH (22) または
  • 受信ポート: カスタム値 (Azure Bastion 経由で VM に接続するときに、このカスタム ポートを指定する必要があります)

その他の要件については、「Azure Bastion に関する FAQ」を参照してください。

サポートされている構成

現時点では、Azure Bastion は、OpenSSH を使用した SSH 経由の Windows VM への接続のみをサポートしています。

Bastion 接続ページ

  1. Azure portal で、接続先の仮想マシンに移動します。 [概要] ページで [接続] を選択し、ドロップダウンから [Bastion] を選択して、[Bastion] 接続ページを開きます。 左側のウィンドウから [Bastion] を選択することもできます。

    Screenshot shows the overview for a virtual machine in Azure portal with Connect selected.

  2. [Bastion] 接続ページで、[接続設定] の矢印をクリックして、使用可能なすべての設定を展開します。 Bastion Standard SKU を使用している場合は、使用可能な設定がより多くあります。

    Screenshot shows connection settings.

  3. 次のセクションのいずれかの方法を使用して、認証と接続を行います。

ユーザー名とパスワード

ユーザー名とパスワードを使用して認証するには、次の手順に従います。

Screenshot shows Password authentication.

  1. ユーザー名とパスワードを使用して認証するには、次の設定を構成します。

    • [プロトコル]: SSH を選択します。
    • [ポート]: ポート番号を入力します。 カスタムポート接続は、Standard SKU でのみ使用できます。
    • [認証の種類]: ドロップダウンから [パスワード] を選択します。
    • [ユーザー名]: ユーザー名を入力します。
    • [パスワード]: パスワードを入力します。
  2. 新しいブラウザー タブで VM を操作するには、[新しいブラウザータブで開く] を選択します。

  3. [接続] をクリックして VM に接続します。

ローカル ファイルからの秘密キー

ローカル ファイルからの SSH 秘密キーを使用して認証するには、次の手順に従います。

Screenshot shows private key from local file authentication.

  1. ローカル ファイルからの秘密キーを使用して認証するには、次の設定を構成します。

    • [プロトコル]: SSH を選択します。
    • [ポート]: ポート番号を入力します。 カスタムポート接続は、Standard SKU でのみ使用できます。
    • [認証の種類]: ドロップダウンから [ローカル ファイルからの SSH 秘密キー] を選択します。
    • [ローカル ファイル]: ローカル ファイルを選択します。
    • [SSH パスフレーズ]: 必要に応じて SSH パスフレーズを入力します。
  2. 新しいブラウザー タブで VM を操作するには、[新しいブラウザータブで開く] を選択します。

  3. [接続] をクリックして VM に接続します。

パスワード - Azure Key Vault

Azure Key Vault からのパスワードを使用して認証するには、次の手順に従います。

Screenshot shows password from Azure Key Vault authentication.

  1. Azure Key Vault からのパスワードを使用して認証するには、次の設定を構成します。

    • [プロトコル]: SSH を選択します。

    • [ポート]: ポート番号を入力します。 カスタムポート接続は、Standard SKU でのみ使用できます。

    • [認証の種類]: ドロップダウンから [Azure Key Vault からのパスワード] を選択します。

    • [ユーザー名]: ユーザー名を入力します。

    • [サブスクリプション]: サブスクリプションを選択します。

    • [Azure Key Vault]: Key Vault を選択します。

    • [Azure Key Vault シークレット]: SSH 秘密キーの値が含まれている Key Vault シークレットを選択します。

      • Azure Key Vault リソースを設定していない場合は、Key Vault の作成に関する記事を参照し、SSH 秘密キーを新しい Key Vault シークレットの値として格納します。

      • Key Vault リソースに格納されているシークレットの一覧表示および取得のアクセス権を持っていることを確認します。 Key Vault リソースのアクセス ポリシーの割り当てと変更については、Key Vault アクセス ポリシーの割り当てに関する記事を参照してください。

        Note

        PowerShell または Azure CLI エクスペリエンスを使用し、SSH 秘密キーをシークレットとして Azure Key Vault に保存してください。 Azure Key Vault ポータル エクスペリエンスを使用して秘密キーを保存すると、書式設定に支障をきたし、ログインに失敗します。 ポータル エクスペリエンスを使用して秘密キーをシークレットとして保存し、元の秘密キー ファイルにアクセスできなくなった場合は、「SSH キーを更新する」を参照して、新しい SSH キー ペアでターゲット VM へのアクセスを更新してください。

  2. 新しいブラウザー タブで VM を操作するには、[新しいブラウザータブで開く] を選択します。

  3. [接続] をクリックして VM に接続します。

秘密キー - Azure Key Vault

Azure Key Vault に格納されている秘密キーを使用して認証するには、次の手順に従います。

Screenshot shows Private key stored in Azure Key Vault authentication.

  1. Azure Key Vault に格納されている秘密キーを使用して認証するには、次の設定を構成します。

    • [プロトコル]: SSH を選択します。

    • [ポート]: ポート番号を入力します。 カスタムポート接続は、Standard SKU でのみ使用できます。

    • [認証の種類]: ドロップダウンから [Azure Key Vault からの SSH 秘密キー] を選択します。

    • [ユーザー名]: ユーザー名を入力します。

    • [サブスクリプション]: サブスクリプションを選択します。

    • [Azure Key Vault]: Key Vault を選択します。

      • Azure Key Vault リソースを設定していない場合は、Key Vault の作成に関する記事を参照し、SSH 秘密キーを新しい Key Vault シークレットの値として格納します。

      • Key Vault リソースに格納されているシークレットの一覧表示および取得のアクセス権を持っていることを確認します。 Key Vault リソースのアクセス ポリシーの割り当てと変更については、Key Vault アクセス ポリシーの割り当てに関する記事を参照してください。

        Note

        PowerShell または Azure CLI エクスペリエンスを使用し、SSH 秘密キーをシークレットとして Azure Key Vault に保存してください。 Azure Key Vault ポータル エクスペリエンスを使用して秘密キーを保存すると、書式設定に支障をきたし、ログインに失敗します。 ポータル エクスペリエンスを使用して秘密キーをシークレットとして保存し、元の秘密キー ファイルにアクセスできなくなった場合は、「SSH キーを更新する」を参照して、新しい SSH キー ペアでターゲット VM へのアクセスを更新してください。

    • [Azure Key Vault シークレット]: SSH 秘密キーの値が含まれている Key Vault シークレットを選択します。

  2. 新しいブラウザー タブで VM を操作するには、[新しいブラウザータブで開く] を選択します。

  3. [接続] をクリックして VM に接続します。

次のステップ

Azure Bastion の詳細については、Bastion に関する FAQ をご覧ください。