はじめに
どうも、ATLのヴィリアスです。
ある日、 Azure の仮想マシンに接続しようとしたらこんなエラーが出ました。
エラーが出た当初は
その日、初めて仮想マシンに接続しようとしていたので直前に作業をしていたわけではないし、
あまりに突然の見覚えのないエラーだったので少し焦りました。
結果的には、無事解決できたので情報を共有します。
※免責事項(必ず、ご一読ください)
本記事の情報により生じた、いかなる損害や損失についても、当社は一切の責任を負いかねます。
また、誤情報が入り込んだり、情報が古くなったりすることもありますので、
必ずしも正確性を保証するものではありません。ご了承ください。
前提
Azure の仮想マシンが何らかのドメインに参加していること。
今回のエラー原因
仮想マシンとドメインコントローラー間のセキュアチャネルが破損していたため。
解決方法
手順1: 仮想マシンの NLA を無効にする
NLA を無効して、仮想マシンに接続できるようにします。
Azure Portal から、該当の接続できない仮想マシンのページを開きます。
左メニューから、 [実行コマンド] を選択します。
NLA を無効にしたいので [Disable NLA] を選択し、 [実行] ボタンをクリックします。
実行が完了すると NLA が無効になり、仮想マシンに接続できるようになります。
手順2: Test-ComputerSecureChannel
でチャネルを修復する
ドメインに参加していない状態になったので、
その間に破損しているセキュアチャネルを修復します。
仮想マシンへの接続時、ユーザー名とパスワードを求められたら
そこでは仮想マシン自身が持つユーザー名とパスワードを入力します。
NLA が無効化されたことで一時的にドメインに参加していない状態になっています。
そのため、仮想マシン自身が持つユーザー名とパスワードが必要になります。
続いて、仮想マシン上の PowerShell でチャネルを修復します。
Test-ComputerSecureChannel
コマンドレットが今回の肝です。
これは、セキュアチャネルの動作確認を行うコマンドレットです。
-verbose
オプションを付与したコマンドで、チャネルが破損していないかの詳細確認を行います。
Test-ComputerSecureChannel -verbose
私の場合、コマンド実行後「チャネルが破損しています」という旨のメッセージが出力されました。
メッセージ確認後、-repair
オプションを付与したコマンドで破損しているチャネルを修復します。
Test-ComputerSecureChannel -repair
これで修復完了です!
補足: Test-ComputerSecureChannel -repair
でエラーが出る
ユーザー名またはパスワードが正しくありません。
→Test-ComputerSecureChannel -repair -credential [ドメイン\ユーザー名]
で明示的に資格情報を入力してください。
サーバーは使用可能ではありません。
→ドメインを管理しているサーバーが動作していないかもしれません。サーバーを起動してください。
手順3: 仮想マシンの NLA を有効にする
最後に、無効にした NLA を 有効に戻します。
以下のコマンドを仮想マシン上で実行します。
REG add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v disabledomaincreds /t REG_DWORD /d 0 /f
REG add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 1 /f
参考にしたもの