RDP を使用して EC2 Windows インスタンスに接続する際の認証エラーをトラブルシューティングするにはどうすればよいですか?

最終更新日: 2022-08-30

リモートデスクトッププロトコル (RDP) を使用して Amazon Elastic Compute Cloud (Amazon EC2) Windows インスタンスにログインできません。次のいずれかの認証エラーメッセージを受信しています:

  • 「認証エラーが発生しました。ローカル セキュリティ機関に連絡できません。」
  • 「接続しようとしているリモートコンピュータにはネットワークレベル認証 (NLA) が必要ですが、Windows ドメインコントローラーに接続して NLA を実行することはできません。リモート コンピューターの管理者である場合は、[システムのプロパティ] ダイアログ ボックスの [リモート] タブのオプションを使用して NLA を無効にすることができます。」

簡単な説明

上記のエラーは、次の二つのシナリオで発生する可能性があります。

  • サーバーでネットワークレイヤー認証 (NLA) が有効になっています。
  • RDP ログイン中に、ドメインと EC2 インスタンスがこのドメインに参加している間の信頼関係が失われる

解決方法

サーバー上で NLA が有効になっている

NLA エラーは、ドメイン認証情報が認証されていないためにインスタンスがドメインコントローラーへの接続を失った場合に良く発生します。この問題を修正するには、AWS Systems Manager の AWSSupport-TroubleshootRDP オートメーションドキュメントを使用するかまたは、インスタンスで NLA を非アクティブ化できます。

AWSSupport-TroubleshootRDP のオートメーションドキュメント

AWSSupport-TroubleshootRDP オートメーションドキュメントでは、一般な設定を変更でき、Amazon EC2 Windows インスタンス(例えばRDPポート、ネットワークレイヤー認証(NLA)、および Windows ファイアウォールプロファイル)RDP の接続に影響する可能性がある。AWSSupport-TroubleshootRDP ドキュメントを使用したトラブルシューティングの手順については、AWSSupport-TroubleshootRDP を参照してください。

インスタンスで NLA を無効にする

次のいずれかの方法を使用して、到達不能なインスタンスで NLA を非アクティブ化できます。

  • Systems Manager AWS-RunPowerShellScript ドキュメントを使用して NLA を無効にします。
  • 手動でレジストリをオフラインに変更します。

注意: NLA を無効するには、レジストリの変更が必要です。開始する前に、インスタンスから Amazon マシンイメージ (AMI) を作成します。これにより、レジストリを変更する前にバックアップが作成されます。

Systems Manager AWS-RunPowerShellScript ドキュメントを使用して NLA を無効にする

AWS Systems Manager の AWS-RunPowerShellScript Run Command を使用してレジストリキーを追加するには、以下のステップを実行します。

注意: インスタンスには AWS Systems Manager SSM Agent がインストールされている必要があります。インスタンスには、システムマネージャに対するアクセス権限を持つ AWS ID およびアクセス管理 (IAM) ロール (AmazonEC2RoleforSSM) があり、システムマネージャのダッシュボードで「オンライン」を表示している必要があります。詳細については、Systems Manager の前提条件を参照してください。

1.    AWS Systems Manager コンソールを開きます。

2.    ナビゲーションペインの [インスタンスとノード] セクションで、[コマンドの実行] を選択します。

3.    [コマンドドキュメント] で、[AWS-RunPowerShellScript] を選択してください。

4.    [コマンドのパラメータ] に、次のコマンドを入力してください。

reg add "HKLM\SYSTEM\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp" /v SecurityLayer /t REG_DWORD /d 0 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp" /v fAllowSecProtocolNegotiation /t REG_DWORD /d 0 /f

5.    [ターゲット] で、[手動でインスタンスを選択するため] を選択してください。

6.    インスタンスを選択してください。

7.    [Run] (実行) を選択します。

8.    [全体的なステータス] が [成功] に変わるまで待ちます。2 分後にページを更新してください。

9.    インスタンスを再起動します。

10.    RDP を使用してインスタンスにログインします。

手動でレジストリの変更をオフラインで行う

  1. 接続できないインスタンスを停止し、なおルートボリュームをデタッチします
  2. 停止元のインスタンスと同じアベイラビリティーゾーンで、新しい インスタンスを起動します。これがレスキューインスタンスになります。接続できないインスタンスとは異なる Windows バージョンを起動するのがベストプラクティスです。これにより、ディスク署名の問題が回避されます。
  3. 切り離されたボリュームをアタッチする としてレスキューインスタンスに/dev/xvdf.
  4. RDP を使用してレスキューインスタンスに接続し ディスク管理 でアタッチしたボリュームをオンラインにします。
  5. regedit.exe を実行して、レジストリエディタを開きます。
  6. HKEY_LOCAL_MACHINE を選択し、次にファイル選択しHive*をロード
  7. に移動します ウィンドウズ アタッチされたボリュームのフォルダーを選択し、 システム ファイル。デフォルトのパスは D:\Windows\System32\config です。
  8. 名前を付けるシステム ファイル。例えば、 バッドシス
  9. バッドシス の下に表示されるようになりました HKEY_LOCAL_MACHINE.badsys の下で、 ControlSet001コントロールターミナルサーバー Winstations RDP-TCP に移動します。
  10. ダブルクリックセキュリティ層 その値データを 0。 選択するユーザ認証その値データを 0。次に、選択しますAllowSecProtocolNegotiation その値データを0.
  11. 上にスクロールして選択 バッドシス, ファイル, ハイブのアンロード.
  12. Hive をアンロード後、ディスクマネージャを開き、ディスクをオフラインにします。
  13. ボリュームを切り離すレスキュー インスタンスから、ルート ボリュームとして到達不能なインスタンスにアタッチします (/dev/sda1)。
  14. インスタンスを起動し、RDP をテストします。

RDP ログイン中に、ドメインと EC2 インスタンスがこのドメインに参加している間の信頼関係が失われる

キャッシュされたユーザー認証情報を使用して、到達不能なインスタンスへのログインを試みます。

前提条件

  • EC2 インスタンスに対して正常に認証できるローカルアカウント。
  • (オプション) インスタンスがドメイン コントローラと正常に通信できたときに、少なくとも 1 つのドメイン アカウントがログインしました。ドメイン アカウントが機能するには、ドメイン アカウントの資格情報がサーバーにキャッシュされている必要があります。ローカル アカウントを使用することをお勧めします。
  • 対話型ログインを使用するには、(ドメイン コントローラーが使用できない場合) キャッシュする以前のログオン数を設定するポリシーが少なくとも に設定されていることを確認してください 1 。または、ポリシーをデフォルト値の 10 。デフォルトでは、このポリシーは GPO で定義されてない、サーバーのローカルポリシーが使用されます。

キャッシュされたユーザー認証情報を使用してログインするには、次の手順を仕様してください。

  1. を開きます アマゾン EC2 コンソール そして選択 セキュリティ グループ.
  2. セキュリティグループの作成 を選択し、名前と説明を追加してください。
  3. 下のセキュリティ グループの規則, 選択するインバウンド – ルールを追加.
  4. RDP に入力します。
  5. の中にソースフィールドに、RDP の送信元の IP アドレスを入力します。
  6. アウトバウンドルール で、すべてのアウトバウンドアクセスを削除し、作成 を選択します。
  7. 到達不能なインスタンスを選択してから、 行動, ネットワーキング, セキュリティ グループの変更.既存のセキュリティグループをすべて削除し、作成したセキュリティグループのみを割り当てください。
  8. 通常のドメインアカウントを使用して EC2 インスタンスへの RDP。すべてのアウトバウンドアクセスが EC2 から削除されるため、RDP はサーバー内に格納されているキャッシュされた認証情報を使用します。

注意:最初に、ドメインコントローラに対して認証が試行されます。ただし、EC2 からのアウトバウンドアクセスがないため、認証は最終的にサーバー内のキャッシュされた認証情報をチェックします。キャッシュされたクレデンシャルを使用して、認証の再試行とログインは成功します。ログインしたら、セキュリティ グループの設定を元の状態に戻し、引き続きドメインの問題を修正できます。

追加のトラブルシューティング


この記事は役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?