パブリック 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
ヒント
Windows Server 2025 以降では、OpenSSH が既定でインストールされます。
Microsoft Entra 認証
認証に Microsoft Entra を使用するには、Arc 対応サーバーに aadsshlogin と aadsshlogin-selinux (必要に応じて) インストールする必要があります。 これらのパッケージは、 AADSSHLoginForLinux仮想マシン (VM) 拡張機能をデプロイするときにインストールされます。
また、VM のロールの割り当てを構成する必要があります。 VM へのログインを承認するには、次の 2 つの Azure ロールが使用されます。
- 仮想マシン管理者ログイン: このロールが割り当てられているユーザーは、管理者特権で Azure VM にログインできます。
- 仮想マシン ユーザー ログイン: このロールが割り当てられているユーザーは、通常のユーザー特権で Azure VM にログインできます。
VM に割り当てられた所有者ロールまたは共同作成者ロールを持つ Azure ユーザーには、SSH 経由で VM に Microsoft Entra ログインするための特権が自動的に付与されません。 これは、仮想マシンを管理するユーザーと仮想マシンにアクセスできるユーザーを意図的に (なおかつ監査上) 分離するためです。 これらのロールは高レベルのアクセス権を付与するため、監査可能な Just-In-Time アクセスには Microsoft Entra Privileged Identity Management の 使用を検討してください。
注
仮想マシンの管理者ログインおよび仮想マシンのユーザー ログインのロールでは 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 対応サーバーに aadsshlogin と aadsshlogin-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>
例
Azure CLI または Azure PowerShell を使用して、SSH 経由で Arc 対応サーバーにアクセスできます。 例と詳細については、 az ssh (Azure CLI) または Az.Ssh (Azure PowerShell) を参照してください。
Arc 対応サーバーへの SSH を無効にする
Arc 対応サーバーへの SSH アクセスを削除するには、次の手順に従います。
- 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\"}}'
- 既定の接続エンドポイントを削除します: - 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
SSH アクセスを含め、コンピューターへのリモート アクセスをすべて無効にするには、コンピューターで次の azcmagent config コマンドを実行します。
azcmagent config set incomingconnections.enabled false
次のステップ
- OpenSSH for Windows について学習する
- Azure Arc 対応サーバーへの SSH アクセスのトラブルシューティングについて学習する。
- エージェント接続の問題のトラブルシューティングについて学習する。