Start typing to search across invoices, services, domains, tickets, and more...
Windows の VPS や専用サーバーを使い始めたとき、最も多いトラブルが「Windows リモートデスクトップに接続できない」というものです。「リモート コンピューターに接続できません」と表示される、応答がないまま固まる、CredSSP や NLA の認証エラーが出るなど症状はさまざまです。本記事では Windows Server 2016 / 2019 / 2022 を対象に、RDP の 3389 番ポート、Windows ファイアウォール、リモートデスクトップサービス、ネットワークレベル認証、資格情報の順に原因を切り分ける方法を解説します。
ローカル 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:ポート の形式で接続してください。
RDP がつながらなくても OS を再インストールする必要はありません。IMIDC クライアントエリアにログイン → 製品とサービス → 対象サーバーを選択 → 管理 と進み、VNC / コンソール(専用サーバーは通常 IPMI/KVM)を開けば、ローカル画面と同じ感覚で Windows を操作できます。コンソールが見つからない場合はチケットでお問い合わせください。
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
ファイアウォールやセキュリティソフトによる 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
「認証エラーが発生しました。要求された関数はサポートされていません……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
「資格情報が機能しませんでした」「ログオン試行が失敗しました」と出る場合は、ユーザー名が 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 を実行してパケットロスが続いていないか確認してください。
いいえ。Windows ファイアウォールは既定で ICMP を遮断することがあります。Test-NetConnection で 3389 番ポートに接続できればサーバーは稼働しています。
会社のネットワークやプロバイダーが 3389 番ポートを制限しているか、サーバー側のセキュリティソフトがその IP をブロックしている可能性があります。RDP ポートの変更や、サーバー側の IP ブラックリストの確認をお試しください。
上記の手順で解決しない場合は、チケットを送信して IMIDC の 24時間365日テクニカルサポートへご連絡ください。サーバー IP、エラー画面のスクリーンショット、実施済みの手順を添えていただくとスムーズです。