ESC

Start typing to search across invoices, services, domains, tickets, and more...

Search... Ctrl+K
Windowsサーバー

Windows リモートデスクトップ接続できない時の対処法(RDP 3389番ポート・ファイアウォール・CredSSPエラー)

6 ステップ 9 分で読めます 1791 回閲覧 49
目次

Windows の VPS や専用サーバーを使い始めたとき、最も多いトラブルが「Windows リモートデスクトップに接続できない」というものです。「リモート コンピューターに接続できません」と表示される、応答がないまま固まる、CredSSP や NLA の認証エラーが出るなど症状はさまざまです。本記事では Windows Server 2016 / 2019 / 2022 を対象に、RDP の 3389 番ポート、Windows ファイアウォール、リモートデスクトップサービス、ネットワークレベル認証、資格情報の順に原因を切り分ける方法を解説します。

まずサーバーが起動中であること、再インストールや再起動の直後でないことを確認してください。初回起動や更新プログラムの適用中は、RDP が使えるまで 5〜15 分ほどかかる場合があります。

ステップ1:RDP の 3389 番ポートに到達できるか確認する

ローカル PC からサーバーへ ping を送り、続けてリモートデスクトップのポートをテストします。ICMP を遮断しているサーバーも多いため、ping が通らなくても故障とは限りません。判断はポートテストの結果で行います。ローカルの Windows PC で PowerShell を開き、次を実行します。

ping 203.0.113.10
Test-NetConnection 203.0.113.10 -Port 3389

TcpTestSucceeded : True であればポートは開いており、原因は認証かアカウントにある可能性が高いです。False の場合は以下のサービスとファイアウォールを確認します。macOS / Linux では nc -vz 203.0.113.10 3389 でも確認できます。RDP ポートを変更済みの場合は、そのポート番号でテストし、IP:ポート の形式で接続してください。

ステップ2:VNC コンソールからサーバーにログインする

RDP がつながらなくても OS を再インストールする必要はありません。IMIDC クライアントエリアにログイン → 製品とサービス → 対象サーバーを選択 → 管理 と進み、VNC / コンソール(専用サーバーは通常 IPMI/KVM)を開けば、ローカル画面と同じ感覚で Windows を操作できます。コンソールが見つからない場合はチケットでお問い合わせください。

ステップ3:リモートデスクトップサービスが有効か確認する

VNC コンソールで管理者として PowerShell を開き、リモートデスクトップが無効化されていないか、TermService が動作しているか、3389 番ポートが待ち受けているかを確認します。

reg query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections
Get-Service TermService
netstat -ano | findstr :3389

fDenyTSConnections が 0x1 ならリモートデスクトップは無効です。次のコマンドで有効化し、サービスを再起動します。

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server" -Name fDenyTSConnections -Value 0
Set-Service TermService -StartupType Automatic
Restart-Service TermService -Force

ステップ4:Windows ファイアウォールの RDP ルールを確認する

ファイアウォールやセキュリティソフトによる 3389 番ポートの遮断は、RDP 接続エラーの代表的な原因です。以下は表示言語に依存しないルールグループ名を使っているため、日本語版・英語版どちらの Windows でもそのまま実行できます。

Enable-NetFirewallRule -Group "@FirewallAPI.dll,-28752"
Get-NetFirewallRule -Group "@FirewallAPI.dll,-28752" | Select-Object DisplayName, Enabled, Profile

サードパーティ製のセキュリティソフトを入れている場合は、そのポート制御や IP ブラックリストも確認してください。ファイアウォールが原因か切り分けたいときは一時的に無効化し、確認後すぐに有効へ戻します。

Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True

ステップ5:NLA・CredSSP の認証エラーを解消する

「認証エラーが発生しました。要求された関数はサポートされていません……CredSSP 暗号化オラクルの修復」と表示される場合、ローカル PC とサーバーのセキュリティ更新プログラムのレベルが一致していません。根本的な解決策は両方を最新の状態に更新することです。すぐにサーバーを更新できない場合は、ローカル PC で管理者として次を実行すると一時的に回避できます。

reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters" /f /v AllowEncryptionOracle /t REG_DWORD /d 2

ネットワークレベル認証(NLA)が原因でログインできない場合は、サーバーの VNC コンソールから NLA を一時的に無効にします。

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" -Name UserAuthentication -Value 0
NLA の無効化や CredSSP の緩和はセキュリティを下げる操作です。接続が回復し Windows Update を適用したら、UserAuthentication を 1 に戻し、ローカル PC の AllowEncryptionOracle 設定も削除してください。

ステップ6:アカウントと資格情報を確認する

「資格情報が機能しませんでした」「ログオン試行が失敗しました」と出る場合は、ユーザー名が Administrator(または作成したアカウント)であるか、パスワードの大文字・小文字、コピー時の余分な空白を確認してください。失敗が続くとアカウントがロックされることがあります。VNC コンソールからパスワードの再設定とロック解除を行えます。

net user Administrator *
net user Administrator /active:yes
net accounts

net user Administrator * を実行すると新しいパスワードを 2 回入力するよう求められます(入力文字は表示されません)。また Windows Server の管理用セッションは既定で同時 2 つまでです。上限に達している場合は query session で確認し、logoff セッションID で不要なセッションをサインアウトします。

よくある質問

接続できてもすぐに切断されるのはなぜですか?

パケットロス、サーバーの CPU・メモリ不足、セッションのタイムアウト設定などが主な原因です。タスクマネージャーでリソース使用率を確認し、ローカルで ping -t サーバーIP を実行してパケットロスが続いていないか確認してください。

ping が通らない=サーバー停止ですか?

いいえ。Windows ファイアウォールは既定で ICMP を遮断することがあります。Test-NetConnection で 3389 番ポートに接続できればサーバーは稼働しています。

自宅からは接続できるのに会社からはできません。

会社のネットワークやプロバイダーが 3389 番ポートを制限しているか、サーバー側のセキュリティソフトがその IP をブロックしている可能性があります。RDP ポートの変更や、サーバー側の IP ブラックリストの確認をお試しください。

上記の手順で解決しない場合は、チケットを送信して IMIDC の 24時間365日テクニカルサポートへご連絡ください。サーバー IP、エラー画面のスクリーンショット、実施済みの手順を添えていただくとスムーズです。

この回答はお役に立ちましたか?

関連チュートリアル