パブリック 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 対応サーバーに aadsshlogin
と aadsshlogin-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 対応サーバーに 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>
例
例や詳細を表示するには、 az ssh の Az 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
次のステップ
- OpenSSH for Windows について学習する
- Azure Arc 対応サーバーへの SSH アクセスのトラブルシューティングについて学習する。
- エージェント接続の問題のトラブルシューティングについて学習する。