Azure Arc 対応サーバーへの SSH アクセス

Arc 対応サーバー向けの SSH により、パブリック IP アドレスや追加のオープン ポートを必要とせずに、Arc 対応サーバーへの SSH ベースの接続が可能になります。 この機能は、対話的に、または自動化して使用する以外に、既存の SSH ベースのツールで使用できるため、既存の管理ツールが Azure Arc 対応サーバーに大きな影響を与えることができます。

重要

Azure Arc 対応サーバー向けの SSH は、現在プレビュー段階です。 ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用される法律条項については、「Microsoft Azure プレビューの追加使用条件」を参照してください。

主な利点

Arc 対応サーバーに SSH アクセスすることで得られる主な利点には、次のようなものがあります。

  • パブリック IP アドレスまたはオープン SSH ポートが不要
  • Windows および Linux マシンへのアクセス
  • ローカル ユーザーまたは Azure ユーザー (Linux のみ) としてログインする機能
  • 構成ファイルのサポートによる他の OpenSSH ベースのツールのサポート

前提条件

この機能を利用するには、次のことを確認してください。

Azure AD 資格情報を使用した認証には、追加の要件があります。

  • aadsshloginaadsshlogin-selinux (必要に応じて) を Arc 対応サーバーにインストールする必要があります。 これらのパッケージは、AADSSHLoginForLinux VM 拡張機能によってインストールされます。

  • VM のロールの割り当てを構成します。 VM へのログインを承認するには、次の 2 つの Azure ロールが使用されます。

    • 仮想マシンの管理者ログイン: このロールを割り当てられたユーザーは、管理者特権を持つユーザーとして Azure 仮想マシンにログインできます。
    • 仮想マシンのユーザー ログイン: このロールが割り当てられたユーザーは 正規ユーザーの権限を持つユーザーとして Azure 仮想マシンにログインできます。

    VM の所有者または共同作成者のロールが割り当てられた Azure ユーザーに、SSH 経由で VM に Azure AD ログインする権限は自動的に付与されません。 これは、仮想マシンを管理するユーザーと仮想マシンにアクセスできるユーザーを意図的に (なおかつ監査上) 分離するためです。

    注意

    仮想マシンの管理者ログインおよび仮想マシンのユーザー ログインのロールでは dataActions を使用し、管理グループ、サブスクリプション、リソース グループ、またはリソースのスコープで割り当てることができます。 個々の VM レベルではなく、管理グループ、サブスクリプション、またはリソース レベルでロールを割り当てることをお勧めします。 サブスクリプションあたりの Azure ロール割り当ての上限を超えるリスクの防止策になります。

可用性

Arc 対応サーバーへの SSH アクセスは現在、Arc-Enabled サーバーでサポートされているすべてのリージョンでサポートされています。ただし、次の例外があります。

  • ドイツ中西部

作業の開始

ローカル コマンド ライン ツールをインストールする

この機能は現在、Azure CLI 拡張機能と Azure PowerShell モジュールにパッケージ化されています。

az extension add --name ssh

注意

Azure CLI 拡張機能は 1.1.0 より大きいバージョンにする必要があります。

Arc 対応サーバーで機能を有効にする

SSH 接続機能を使用するには、ハイブリッド エージェントで接続を有効にする必要があります。

Note

次の操作は、管理者特権のターミナル セッションで完了する必要があります。

現在の受信接続を表示します。

azcmagent config list

既存のポートがある場合は、次のコマンドにそれらを含める必要があります。

SSH 接続へのアクセスを追加するには、以下を実行します。

azcmagent config set incomingconnections.ports 22<,other open ports,...>

SSH 接続に既定以外のポートを使用している場合は、前のコマンドのポート 22 を必要なポートに置き換えます。

注意

次の手順は、ほとんどのユーザーにとって実行不要です。

HybridConnectivity リソース プロバイダーを登録する

Note

これは、各サブスクリプションで実行する必要がある 1 回限りの操作です。

HybridConnectivity リソース プロバイダー (RP) が登録されているかどうかを確認します。

az provider show -n Microsoft.HybridConnectivity

RP が登録されていない場合は、以下を実行します。

az provider register -n Microsoft.HybridConnectivity

この操作は、完了するまで 2 分から 5 分かかることがあります。 先に進む前に、RP が登録されていることを確認してください。

既定の接続エンドポイントを作成する

Note

次の操作は、Arc 対応サーバーごとに完了する必要があります。

PowerShell で既定のエンドポイントを作成します。

az rest --method put --uri https://management.azure.com/subscriptions/<subscription>/resourceGroups/<resourcegroup>/providers/Microsoft.HybridCompute/machines/<arc enabled server name>/providers/Microsoft.HybridConnectivity/endpoints/default?api-version=2021-10-06-preview --body '{\"properties\": {\"type\": \"default\"}}'

Bash で既定のエンドポイントを作成します。

az rest --method put --uri https://management.azure.com/subscriptions/<subscription>/resourceGroups/<resourcegroup>/providers/Microsoft.HybridCompute/machines/<arc enabled server name>/providers/Microsoft.HybridConnectivity/endpoints/default?api-version=2021-10-06-preview --body '{"properties": {"type": "default"}}'

エンドポイントの作成を検証します。

az rest --method get --uri https://management.azure.com/subscriptions/<subscription>/resourceGroups/<resourcegroup>/providers/Microsoft.HybridCompute/machines/<arc enabled server name>/providers/Microsoft.HybridConnectivity/endpoints/default?api-version=2021-10-06-preview

例を表示するには、Az CLI ドキュメントの az ssh のページ、または Azure PowerShell ドキュメントの Az.Ssh のページを参照してください。