こんにちは
今回は Azure Bastion のプレビュー機能の「ネイティブ クライアント接続」を試してみました
ネイティブ クライアントと Azure Bastion を使用して仮想マシンに接続する - Azure Bastion | Microsoft Learn
前提条件
- CLI のバージョン 2.30 以降が必要
- 接続先となる Azure VM
また、プレビューであるので以下の制約があるようです
- 使用するポートは RDPは 3389, SSH は 22 で確定(カスタムできない)
ローカルのユーザー名・パスワードが使えない(英語のドキュメントではこちらの記載がなくなっていました)- Key Vault に保存されている SSH キーが使えない
手順
ざっくりな手順としては
- Azure VM を作る
- Bastion を作る
- 接続する
だけです
Azure VM を作る
Bation 経由で接続できたことを確認するためにパブリック IP はつけずに作成しました
Linux でも Windows でも構いません
今回は ubuntu の VM を使用しました
Bastion を作る
Bastion を作成します
今回の機能は Standard でのみ使えるので SKU に気を付けて作成します
また、作成時に 「ネイティブ クライアント サポート」 に忘れずにチェックを入れます
接続する
VM に接続してみます
SSH をする際は Azure CLI の SSH 拡張が入っていなければエラーが出るので注意してください
(今回はここで引っかかりました)
az ssh vm
を実行すると ssh 拡張機能が入ります
準備が整ったので改めて接続しますコマンドは以下です。
az network bastion ssh --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId>" --auth-type "password" --username "<Username>"

無事に接続することができました
まとめ
この機能が出てきた当初は ローカルユーザーではログインできませんでしたが、機能拡張が起きていて無事にローカルユーザーでサインインできました