次の方法で共有


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

パブリック IP アドレスや追加のオープン ポートを必要とせずに、Arc 対応サーバーへの SSH ベースの接続を有効にすることができます。 この機能は、対話型、自動化、または既存の SSH ベースのツールで使用でき、Azure Arc 対応サーバーに対する既存の管理ツールの影響を拡大できます。

メリット

Arc 対応サーバーへの SSH アクセスには、次の利点があります。

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

前提条件

  • ユーザーのアクセス許可: ターゲット Arc 対応サーバーに割り当てられた所有者ロールまたは共同作成者ロール。
  • Arc 対応サーバー:
    • ハイブリッド エージェント バージョン: 1.31.xxxx 以上
    • SSH サービス ("sshd") を有効にする必要があります。

Linux の場合、パッケージ マネージャーを使用して openssh-server をインストールします。 次のコマンドを実行して、sshd が Linux で実行されているかどうかを確認できます。

ps -aux | grep sshd

Windows の場合は、OpenSSH を有効にするに関するページを参照してください。 次のコマンドを使用して、ssh がインストールされ、実行されているかどうかを確認できます。

Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'

# Check the sshd service is running
Get-Service sshd

Microsoft Entra 認証

認証に Microsoft Entra を使用する場合は、Arc 対応サーバーに aadsshloginaadsshlogin-selinux (必要に応じて) インストールする必要があります。 これらのパッケージは、AADSSHLoginForLinux VM 拡張機能と共にインストールされます。

また、仮想マシン (VM) のロールの割り当てを構成する必要もあります。 VM へのログインを承認するには、次の 2 つの Azure ロールが使用されます。

  • 仮想マシン管理者ログイン: このロールが割り当てられているユーザーは、管理者特権で Azure VM にログインできます。
  • 仮想マシン ユーザー ログイン: このロールが割り当てられているユーザーは、通常のユーザー特権で Azure VM にログインできます。

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

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

可用性

Arc 対応サーバーへの SSH アクセスは現在、Arc 対応サーバーでサポートされているすべてのクラウド リージョンでサポートされています。

Arc 対応サーバーへの SSH アクセスを有効にする

Arc 対応サーバーへの SSH アクセスを有効にするには、このセクションの手順に従います。

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

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

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

az provider show -n Microsoft.HybridConnectivity -o tsv --query registrationState

リソース プロバイダーが登録されていない場合は、次のコマンドを実行して登録します。

az provider register -n Microsoft.HybridConnectivity

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

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

この手順は、Arc 対応サーバーごとに完了する必要があります。 ただし、最初の接続時に自動的に完了するため、これらのコマンドを実行する必要がない場合があります。

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=2023-03-15 --body '{"properties": {"type": "default"}}'

PowerShell から Azure CLI を使用する場合は、以下を使用する必要があります。

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=2023-03-15 --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=2023-03-15

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

SSH 機能は、Azure CLI 拡張機能と Azure PowerShell モジュールで提供されます。 環境に適したツールをインストールします。

az extension add --name ssh

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

SSH 接続機能を使うには、Arc 対応サーバーで接続エンドポイントのサービス構成を更新して、特定のポートへの SSH 接続を許可する必要があります。 許可できるのは 1 つのポートへの接続のみです。 CLI ツールは、実行時に許可されたポートの更新を試みますが、ポートは次のコマンドを使用して手動で構成できます。 SSH 接続に既定以外のポートを使用している場合は、ポート 22 を目的のポートに置き換えます。

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/serviceconfigurations/SSH?api-version=2023-03-15 --body "{\"properties\": {\"serviceName\": \"SSH\", \"port\": 22}}"

接続できるようになる前に、サービス構成の更新後に遅延が発生する可能性があります。

省略可能: Microsoft Entra ログイン拡張機能をインストールする

Linux マシンでの認証に Microsoft Entra を使用するには、Arc 対応サーバーに aadsshloginaadsshlogin-selinux (必要に応じて) をインストールする必要があります。 これらのパッケージは、AADSSHLoginForLinux VM 拡張機能と共にインストールされます。

Azure portal でこの拡張機能を追加するには、クラスターに移動し、サービス メニューの [設定] で [拡張機能] を選択します [ 追加] を選択し、 Azure AD ベースの SSH ログイン ( Azure Arc) を選択し、インストールを完了します。 apt-get install aadsshloginまたは次のコマンドを実行して、パッケージ マネージャーを使用して拡張機能をローカルにインストールすることもできます。

az connectedmachine extension create --machine-name <arc enabled server name> --resource-group <resourcegroup> --publisher Microsoft.Azure.ActiveDirectory --name AADSSHLogin --type AADSSHLoginForLinux --___location <___location>

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

Arc 対応サーバーへの SSH を無効にする

Arc 対応サーバーへの SSH アクセスを削除する必要がある場合は、次の手順に従います。

  1. Arc 対応サーバーから SSH ポートと SSH 機能を削除します:

    az rest --method delete --uri https://management.azure.com/subscriptions/<subscription>/resourceGroups/<resourcegroup>/providers/Microsoft.HybridCompute/machines/<arc enabled server name>/providers/Microsoft.HybridConnectivity/endpoints/default/serviceconfigurations/SSH?api-version=2023-03-15 --body '{\"properties\": {\"serviceName\": \"SSH\", \"port\": \"22\"}}'
    
  2. 既定の接続エンドポイントを削除します:

    az rest --method delete --uri https://management.azure.com/subscriptions/<subscription>/resourceGroups/<resourcegroup>/providers/Microsoft.HybridCompute/machines/<arc enabled server name>/providers/Microsoft.HybridConnectivity/endpoints/default?api-version=2023-03-15
    

次のステップ