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

この記事では、Azure portal から直接、Azure 仮想ネットワークに置かれている Linux VM への SSH 接続を安全かつシームレスに作成する方法について説明します。 Azure Bastion を使用する場合、VM にクライアント、エージェント、追加のソフトウェアは不要です。

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

SSH を使用して Linux 仮想マシンに接続する場合は、認証にユーザー名およびパスワードと SSH キーの両方を使用できます。 SSH 秘密キーは、"-----BEGIN RSA PRIVATE KEY-----" で始まり、"-----END RSA PRIVATE KEY-----" で終わる形式である必要があります。

前提条件

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

使用できる接続設定と機能は、使用している Bastion SKU によって異なります。 Bastion デプロイで必要な SKU が使用されていることを確認します。

  • SKU レベルごとに使用可能な機能と設定については、Bastion の概要記事の「SKU と機能」セクションを参照してください。
  • Bastion デプロイの SKU レベルをチェックし、必要に応じてアップグレードするには、「Bastion SKU のアップグレード」を参照してください。

必要なロール

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

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

Port

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

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

Bastion 接続ページ

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

    Screenshot shows the Overview page for a virtual machine.

  2. [Bastion] ページで構成できる設定は、Bastion ホストが使用するように構成されている Bastion SKU レベルによって異なります。

    • Standard SKU を使用している場合は、[接続の設定] の値 (ポートとプロトコル) が表示され、構成できます。

      Screenshot shows connection settings for the Standard SKU.

    • Basic SKU を使用している場合は、接続設定の値を構成できません。 代わりに、接続には次の既定の設定が使用されます: SSH およびポート 22。

      Screenshot shows connection settings for the Basic SKU.

    • 使用可能な [認証の種類] を表示して選択するには、ドロップダウンを使用します。

      Screenshot shows authentication type settings.

  3. この記事の次のセクションを使用して、認証設定を構成し、VM に接続します。

パスワード認証

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

Screenshot shows Password authentication.

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

    • 接続設定 (Standard SKU のみ)

      • [プロトコル]: SSH を選択します。
      • ポート: ポート番号を指定してください。
    • [認証の種類]: ドロップダウンから [パスワード] を選択します。

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

    • [パスワード]: パスワードを入力します。

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

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

パスワード認証 - Azure Key Vault

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

Screenshot shows password from Azure Key Vault authentication.

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

    • 接続設定 (Standard SKU のみ)

      • [プロトコル]: SSH を選択します。
      • ポート: ポート番号を指定してください。
    • [認証の種類]: ドロップダウンから [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 に接続します。

SSH 秘密キーの認証 - ローカル ファイル

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

Screenshot shows private key from local file authentication.

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

    • 接続設定 (Standard SKU のみ)

      • [プロトコル]: SSH を選択します。
      • ポート: ポート番号を指定してください。
    • [認証の種類]: ドロップダウンから [ローカル ファイルからの SSH 秘密キー] を選択します。

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

    • [ローカル ファイル]: ローカル ファイルを選択します。

    • [SSH パスフレーズ]: 必要に応じて SSH パスフレーズを入力します。

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

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

SSH 秘密キーの認証 - Azure Key Vault

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

Screenshot shows Private key stored in Azure Key Vault authentication.

  1. Azure Key Vault に格納されている秘密キーを使用して認証するには、次の設定を構成します。 Basic SKU の場合、接続設定を構成することはできません。代わりに、既定の接続設定 (SSH とポート 22) が使用されます。

    • 接続設定 (Standard SKU のみ)

      • [プロトコル]: SSH を選択します。
      • ポート: ポート番号を指定してください。
    • [認証の種類]: ドロップダウンから [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 をご覧ください。