経緯
ドメイン環境内のwindowsのEC2にRDPで接続した際に下記のエラーが発生したので、その対処の記録です。
【エラーメッセージ】
接続しようとしているリモートコンピュータにはネットワークレベル認証 (NLA) が必要ですが、Windows ドメインコントローラーに接続して NLA を実行することはできません。リモートコンピュータの管理者である場合、[システムプロパティ] ダイアログボックスの リモート タブのオプションを使用して NLA を無効にできます。
対処方法
下記のサイトを参考にしました。
RDP を使用して EC2 Windows インスタンスに接続する際の認証エラーをトラブルシューティングするにはどうすればよいですか?
https://aws.amazon.com/jp/premiumsupport/knowledge-center/ec2-windows-rdp-authentication-errors/
RDPの設定でネットワークレイヤー認証 (NLA) が有効になっている状態で、接続しようとしているEC2とドメインコントローラーとの信頼関係が失われていると今回のエラーとなるようです。
今回は上記のリンク先の
”システムマネージャを使用して NLA を無効にする AWS-RunPowerShellScript ドキュメント”
の方法で対処していこうと思います。
設定
SystemManagerサービス-[Run Command]から「Run command」ボタンをクリックします。
【コマンドの実行】
[コマンドドキュメント]:AWS-RunPowerShellScript
コマンドパラメーターに下記のコマンドを入力しました。
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v SecurityLayer /t REG_DWORD /d 0 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v fAllowSecProtocolNegotiation /t REG_DWORD /d 0 /f
【ターゲット】
[ターゲット]:”インスタンスを手動で選択する”を選択して、該当のインスタンスを選択しました。
実行後、すぐに完了しました。(ステータスが変わらない時は更新ボタンを押してください。)
完了後、EC2インスタンスを再起動します。
確認
これで、 ネットワークレイヤー認証 (NLA)の設定が無効にできましたので、RDPで接続してみると・・・
RDPは接続できたのですが、windowsにログインできません・・・・・・想定内です。
ローカルでログインして、ドメインの信頼関係を修復していきます。
管理者権限でPowerShellを起動して、下記コマンドを実行して、セキュアチャンネルを修復します。
(adminの部分はドメインの管理者のユーザー名を入力します。)
コマンド実行後、パスワード入力のダイアログが表示されるので、ドメイン管理者のパスワードを入力します。
Test-ComputerSecureChannel -credential admin -repair
一旦ログオフ後、無事ドメインにログインする事ができました。
ネットワークレベル認証が必須要件の時は、再度有効にする必要がありますが、今回は必要ないのでこのままとしました。