Windowsでリモートデスクトップ接続しよとした時、RDP接続にすごく遅い場合があります。Windowsにログオンするまでに非常に時間がかかるんです。「リモート接続を保護しています」画面で非常に時間がかかるんです。
しかし一方では、別の環境でリモートデスクトップ接続に時間がかからない場合もあります。この違いは一体どこにあるのでしょうか?
レジュメ
環境・前提条件
- リモートデスクトップ接続先サーバーはWindows Server 2016と、
- 接続元はWindows10
で確認しましたが、RDP(リモートデスクトッププロトコル)接続するいろんな環境で起こりうります。
【結論】原因はクライアント環境にある。インターネットに接続出来ない環境だとリモートデスクトップ接続(RDP)は遅い
実は、リモートデスクトップで接続する時に、遅い場合と早い場合では
- クライアント端末がインターネットに接続できない環境→RDP接続が遅い
- クライアント端末がインターネットに接続できる環境→RDP接続が早い
という違いがあります。
実は、原因はRDP接続する時に使用する通信の暗号化に証明書を使用しているのですが、その証明書を証明しにインターネットに行こうとする時間の差になります。
RDP接続の「リモート接続を保護しています」画面に時間がかかり接続が遅い理由
リモートデスクトップ接続時にリモートデスクトップサーバーの自己署名証明書に対し、クライアントが証明書の発行状況や失効確認を行うために、インターネット上へ信頼された証明書機関のリストを取得する動作が発生し、「リモート接続を保護しています」画面で時間を要する事象が発生します。
インターネットに接続できる場合は、直ぐに結果の結論が出るので「リモート接続を保護しています」画面の時間が少ないです。
逆に、インターネットに接続できない環境だと、通信がさまよってしまって諦めるのに時間がかかり遅くなるという理由です。
クライアントPCがインターネットに接続できなくてもRDP接続が遅くならなくする3つの解決方法
このインターネットに接続できない環境でも、RDP接続を早くする方法は以下の3つの方法あります。
- 自己署名の証明書を使用している場合、証明書を接続元にインポートする。
- 暗号化レベルを Windows Server 2003 、および、Windows XP 相当のレベルに設定する。
- 接続元で信頼された証明機関のリストを取得する処理を無効化する。
一番、セキュリティレベルが失われない方法は、解決方法1になりますね。
リモート デスクトップ接続時 「リモート接続を保護しています」の画面で時間がかかる場合があります
解決方法1、証明書を接続元にインポートする
使用している証明書は証明できれば良いわですから、信頼された証明機関に証明書が貴くされていれば信頼・証明できるわけです。
逆をいうと、サーバーもクライアントもADに参加している場合、リモートデスクトップ接続は遅くならないということです(証明書が自動で接続元にインポートされるので)
詳細の手順は以下のリンクにあります。
解決方法2、暗号化レベルのセキュリティレベルを下げる
グループポリシーもしくはローカルポリシーにて、以下を設定します。
[コンピュータの構成] – [管理用テンプレート] – [Windows コンポーネント] – [リモート デスクトップ サービス] – [リモート デスクトップ セッション ホスト] – [セキュリティ]
クライアントの暗号化レベルを設定する
暗号化レベル : 低レベル
グループポリシーもしくはローカルポリシーにて、以下を設定します。
[コンピュータの構成] – [管理用テンプレート] – [Windows コンポーネント] – [リモート デスクトップ サービス] – [リモート デスクトップ セッション ホスト] – [セキュリティ]
リモート (RDP) 接続に特定のセキュリティ レイヤーの使用を必要とする
セキュリティ レイヤー : RDP
解決方法3、接続元で信頼された証明機関のリストを取得する処理を無効化する
グループポリシーもしくはローカルポリシーにて、以下を設定します。
[コンピュータの構成] – [管理用テンプレート] – [システム] – [インターネット通信の管理] – [インターネット通信の設定]
ルート証明書の自動更新をオフにする