- 技術 💻
リモートデスクトップ接続の使い方|設定・つなぎ方・つながらない時の直し方
結論
リモートデスクトップ接続は、受ける側のPC(Pro以上)で機能をオンにし、つなぐ側からPC名を入れて接続します。通信は RDP という決まりで、既定は3389番ポートです。
この記事でわかること
- 受ける側3手順・つなぐ側3手順と端末別の5通り
- 接続拒否・タイムアウトなど3389番の実測8通り
- エラー6件の直し方と社外からつなぐときの5項目
つなぐ側の PC やスマホから、受ける側の Windows の画面を呼び出して、その場にいるように操作する仕組みです。家や社内の同じネットワークでつなぐのが基本で、社外からは VPN を通してつなぎます。
flowchart TD
C[つなぐ側<br>Windows・Mac・スマホ] -->|RDP 3389番| H[受ける側の Windows<br>Pro 以上・機能をオン]
H -->|画面・音を送る| C
C -.->|社外からは| V[VPN を通す]
V -.-> H
急いでいる人向けに、よく調べられることの答えを先にまとめます。
| 知りたいこと | 答え | 詳しい節 |
|---|---|---|
| 受ける側の設定 | 設定>システム>リモート デスクトップをオン | 受ける側の設定 |
| つなぐ側の操作 | 「リモート デスクトップ接続」に PC 名を入れて接続 | つなぐ側の操作 |
| Home でも使える? | つなぐ側は可。受ける側は Pro 以上が要る | エディション |
| Mac・iPhone から | Windows App を入れて PC を追加 | Mac・iPhone・Android |
| つながらない | 電源・機能オン・ファイアウォール・3389番を順に確認 | 接続できないとき |
| 全画面を解除する | Ctrl+Alt+Break | ショートカット |
| Ctrl+Alt+Delete を送る | Ctrl+Alt+End | ショートカット |
| 社外からつなぐ | 3389番をインターネットに出さず VPN を通す | 社外からつなぐとき |
確認環境:受ける側・つなぐ側の Windows の手順、メニュー名、エディションの条件、エラーの文言、ポート番号の設定、Windows App の対応状況は、Microsoft サポートと Microsoft Learn の公式ドキュメントで1つずつ確かめました。Mac・iPhone・Android の手順は Microsoft サポートの日本語ページと Microsoft Learn の Windows App のページ、ほかのツールは Microsoft Learn(クイック アシスト)と Google の Chrome リモート デスクトップ ヘルプで確かめています。「3389番に TCP でつながるか」の確認(Windows の Test-NetConnection と同じこと)は、Ubuntu 24.04.4 LTS・Linux カーネル 6.18 のネットワーク名前空間(ip netns。1台の中に独立したネットワークを作る仕組み)で、つなぐ側と受ける側の2台を作り、OpenBSD netcat 1.226・Python 3.11.15 の socket・tcpdump 4.99.4・nftables で実際に動かしました(確認日 2026年10月23日)。
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「リモートデスクトップ接続の使い方|設定・つなぎ方・つながらない時の直し方」
リモートデスクトップ接続とは(RDPと3389番ポートの仕組み)
この節では、リモートデスクトップ接続で何ができて、裏で何が流れているのかが分かります。
リモートデスクトップ接続は、離れた場所の Windows PC に、手元の端末からネットワーク越しにサインインして操作する Windows の機能です。 Microsoft サポートは、リモート PC のアプリ・ファイル・デスクトップに、その PC の前に座っているかのようにアクセスできる、と説明しています。
1在宅で会社のPCを使う
会社の机にある PC に、自宅から VPN を通してつなぎ、いつものアプリとファイルで作業する。
2別の部屋のPCを操作する
2階の PC やモニターの無いサーバーを、1階のノート PC から操作する。
3スマホから確かめる
外出先から iPhone や Android で、家の PC の処理が終わったかを見る。
用語を3つだけ押さえる
| 用語 | 意味 |
|---|---|
| RDP(Remote Desktop Protocol) | 画面・キーボード・マウス・音などをやり取りする通信の決まり |
| 3389番ポート | 受ける側の PC が RDP の接続を待っている番号(既定値) |
| ホスト・クライアント | 受ける側(ホスト)と、つなぐ側(クライアント) |
受ける側の PC は、3389番で接続を待ち受けています。 Microsoft Learn によると、3389番はリモート デスクトップ接続が使う既定のポートで、レジストリの PortNumber の値は 0x00000d3d(10進数で 3389)です。Windows のファイアウォールには「リモート デスクトップ - ユーザー モード (TCP-In)」と「(UDP-In)」の2つの規則があり、TCP と UDP の両方を通します。
Linux の /etc/services にも、3389番は RDP の正式な名前で登録されています。
$ grep -w 3389 /etc/services
ms-wbt-server 3389/tcp
ポート番号の考え方と、ほかのよく使う番号は、関連記事「ポート番号一覧【2026年版】well-knownポートと確認コマンドの早見表」で扱っています。
リモートデスクトップが使えるWindowsのエディション(Homeは受けられない)
この節では、自分の PC が「受ける側」になれるかと、エディションの確かめ方が分かります。
受ける側(ホスト)になれるのは、Windows の Pro・Enterprise・Education と Windows Server です。Home は受ける側になれませんが、つなぐ側としては使えます。 Microsoft Learn は「Windows Home エディションはリモート デスクトップのホストになれないが、クライアントとしてほかのシステムにつなぐことはできる」と書いています。
| エディション | 受ける側(ホスト) | つなぐ側(クライアント) |
|---|---|---|
| Windows 11・10 Home | なれない | なれる |
| Windows 11・10 Pro | なれる | なれる |
| Enterprise・Education | なれる | なれる |
| Windows Server | なれる | なれる |
| Mac・iPhone・Android | なれない | Windows App でなれる |
エディションは、「スタート」>「設定」>「システム」>「バージョン情報」を開き、「Windows の仕様」の「エディション」で確かめます(Microsoft サポート)。Home と表示されたときに受ける側にしたい場合、Microsoft サポートのページには Home から Pro にアップグレードする方法へのリンクがあります。Pro にしない場合の別の方法は、後の節「ほかの遠隔操作ツールとの違い」の表にまとめました。
受ける側の設定(Windows 11・10でリモートデスクトップを有効にする)
この節では、つながれる側の PC で行う設定を、手順どおりに進められます。
「設定」>「システム」>「リモート デスクトップ」でスイッチをオンにし、表示される確認で「確認」を選びます。 設定を変えるには、管理者のアカウントが要ります(Microsoft Learn)。
リモート デスクトップをオンにする
「スタート」>「設定」>「システム」>「リモート デスクトップ」を開き、「リモート デスクトップ」のスイッチをオンにして「確認」を選ぶ。
PC 名を控える
同じ画面の「PC 名」に出ている名前をメモする。つなぐ側で入力する。
つないでよい人を選ぶ
管理者以外のアカウントでつなぐなら、「リモート デスクトップ ユーザー」(以前の版は「この PC にリモートでアクセスできるユーザーを選択する」)で「追加」し、ユーザー名を入れる。
- 管理者のグループのメンバーと、追加したユーザーがつなげます。 Microsoft Learn によると、Administrators グループのメンバーは追加しなくてもつなげます。
- オンにしたときの既定では、「プライベート ネットワークで PC を検出可能にして、リモート デバイスから自動接続できるようにする」にチェックが入っています(Microsoft Learn の英語の項目名を訳したもの)。
- ネットワーク レベル認証(NLA)は、オンのままにします。 Microsoft Learn は、NLA を有効にすると、リモートのセッションを始める前に認証を求めるので安全性が上がり、ほとんどの環境で有効にすることを勧めています。NLA に対応しない以前の端末からつなぐときだけ一時的に切ることがある、としています。
- 受ける側は、電源が入り、ネットワークにつながっている必要があります。 スリープしている PC にはつながりません。
受ける側の IP アドレスを調べる
PC 名で見つからないときは、IP アドレスでつなぎます。受ける側でコマンド プロンプトを開き、ipconfig の「IPv4 アドレス」を見ます。Microsoft Learn のトラブルシューティングも、ホスト名ではつながらず IP アドレスではつながるときは、名前解決(名前から IP アドレスを調べる仕組み)の問題を疑うよう書いています。
ipconfig
hostname
PowerShell で状態を確かめる・オンにする(管理者)
画面を使わずに確かめるときは、Microsoft Learn のトラブルシューティングに書かれた値を見ます。fDenyTSConnections が 0 なら接続を受け付け、1 なら受け付けません。ファイアウォールの規則は、公式の手順のコマンドで有効にできます。
# 0 = 接続を受け付ける / 1 = 受け付けない
Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server' -Name 'fDenyTSConnections'
# 受け付けるようにする(Microsoft Learn の確認項目の値 0 にする)
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server' -Name 'fDenyTSConnections' -Value 0
# ファイアウォールのリモート デスクトップの規則を有効にする(Microsoft Learn の例)
Get-NetFirewallRule -DisplayGroup "Remote Desktop" | Set-NetFirewallRule -Enabled True
日本語版の Windows では、規則の表示名は「リモート デスクトップ - ユーザー モード (TCP-In)」のように日本語で表示されます(Microsoft Learn の日本語版)。レジストリを書き換える前は、バックアップを取るよう Microsoft Learn は書いています。
受ける側で待ち受けを確かめるコマンドも、Microsoft Learn に載っています。rdp-tcp の行が Listen なら、接続を待っています。
C:\Windows\System32>qwinsta
SESSIONNAME USERNAME ID STATE TYPE DEVICE
services 0 Disc
>console 1 Active
rdp-tcp 65536 Listen
C:\Windows\System32>netstat -anob | findstr 3389
TCP 0.0.0.0:3389 0.0.0.0:0 LISTENING 820
TCP [::]:3389 [::]:0 LISTENING 820
つなぐ側の操作(リモートデスクトップ接続 mstsc と Windows App)
この節では、Windows からつなぐ手順と、どのアプリを使えばよいかが分かります。
Windows では、標準で入っている「リモート デスクトップ接続」(mstsc.exe)を使います。 タスク バーの検索ボックスに「リモート デスクトップ接続」と入れて開くか、Windows ロゴ キー+R の「ファイル名を指定して実行」に mstsc と入れます。
リモート デスクトップ接続を開く
タスク バーの検索で「リモート デスクトップ接続」を開く。Win+R で mstsc でもよい。
PC 名か IP アドレスを入れる
「コンピューター」の欄に、受ける側で控えた PC 名か IP アドレスを入れ、「接続」を選ぶ。
受ける側のアカウントでサインインする
受ける側の PC のユーザー名とパスワードを入れて「OK」を選ぶ。証明書の確認が出たら、接続先が正しいことを確かめて進む。
ユーザー名は、ローカル アカウントなら PC名\ユーザー名、ドメインのアカウントなら ドメイン名\ユーザー名 の形で入れます(Microsoft Learn のエラーの説明にある書き方)。
mstsc のコマンドとよく使うオプション
mstsc はコマンドとしても動き、接続先や画面の大きさを指定できます。Microsoft Learn の mstsc のページにあるオプションです。
| 書き方 | 意味 |
|---|---|
mstsc /v:PC名 |
接続先を指定して開く |
mstsc /v:PC名:3390 |
ポート番号を変えた PC につなぐ |
mstsc /f |
全画面で開く |
mstsc /w:1920 /h:1080 |
ウィンドウの幅と高さを指定する |
mstsc /multimon |
手元の複数のモニターと同じ配置にする |
mstsc /admin |
サーバーを管理するためのセッションにつなぐ |
mstsc /public |
パスワードと画面のキャッシュを残さない |
mstsc /edit 名前.rdp |
保存した接続の設定ファイルを編集する |
どのアプリを使うか(Windows App と以前のアプリ)
Microsoft Store の「リモート デスクトップ」アプリは、2025年5月27日にサポートが終わり、今は入手できません。 Microsoft Learn は、利用者は Windows App に移るよう書いています。標準で入っている「リモート デスクトップ接続」(mstsc)は、この終了の対象として書かれていません。
| アプリ | 2026年10月23日時点の状態(Microsoft Learn) |
|---|---|
| リモート デスクトップ接続(mstsc) | Windows に標準で入っている。PC 名でつなぐ基本の方法 |
| Windows App(Windows 版) | Microsoft Store から入れる。リモート PC への接続はプレビュー |
| Windows App(Mac・iPhone・Android) | リモート PC への接続に対応 |
| Microsoft Store のリモート デスクトップ アプリ | 2025年5月27日にサポート終了・入手不可 |
Windows 版の Windows App では、「デバイス」タブの「+」から PC を追加し、「PC 名」に PC 名か IP アドレスを入れて「追加」または「追加して接続」を選びます(Microsoft Learn の英語の手順を訳したもの)。画面やローカル リソースの共有は、追加するときの詳しい設定で選べ、既定ではすべて切ってあります。
Mac・iPhone・Androidからつなぐ(Windows App)
この節では、Windows 以外の端末から、受ける側の Windows PC につなぐ方法が分かります。
Mac と iPhone・iPad は App Store から「Windows App」を入れ、受ける側の PC 名を追加して選ぶと接続できます。 Microsoft サポートの日本語ページは、Android は Google Play の「リモート デスクトップ」アプリを使う手順を載せています。一方、Microsoft Learn の対応表では、Android・Chrome OS の Windows App もリモート PC への接続に対応しています。
Mac・iPhone・iPad
App Store から「Windows App」を入れて開く
受ける側の「PC 名」を追加する
追加した PC を選んで接続する
Android
Google Play からアプリを入れて開く
受ける側の「PC 名」を追加する
PC を選び、接続が終わるまで待つ
- リモート PC につなぐだけなら、Windows App へのサインインは要りません。 Microsoft Learn によると、サインインが要るのは Azure Virtual Desktop・Windows 365 などの会社向けのサービスで、そのときは職場か学校のアカウントが要ります。個人の Microsoft アカウントでのサインインには対応していません。
- 受ける側の条件は Windows から接続するときと同じです。 Pro 以上・機能をオン・同じネットワーク(または VPN の中)・ファイアウォールが 3389番を通す、の4つがそろっている必要があります。
- Microsoft Learn の Windows App のページによると、Mac 版は Mac App Store のほか、パッケージのファイルでも配られています。Mac の Windows App が求める macOS の版は、Microsoft Learn では 12.0 以降と書かれています(会社向けサービスの前提条件として)。
よく使うショートカットと設定(全画面・音・ドライブ・クリップボード)
この節では、つないだあとに使うキー操作と、画面・音・ドライブなどの共有の設定が分かります。
リモートの画面の中では、Ctrl+Alt+Delete の代わりに Ctrl+Alt+End、全画面とウィンドウの切り替えは Ctrl+Alt+Break を使います。 Microsoft サポートの「Windows のキーボード ショートカット」にある、リモート デスクトップ接続のショートカットです。この2つは、Windows のキーの組み合わせをリモート側に送る設定にしていなくても、すべてのセッションで使えるとされています。
| キー | 動き |
|---|---|
| Ctrl+Alt+End | リモート側で Windows セキュリティの画面を開く(Ctrl+Alt+Delete の代わり) |
| Ctrl+Alt+Break | 全画面とウィンドウ表示を切り替える |
| Alt+Home | リモート側のスタート メニューを開く |
| Alt+PageUp・Alt+PageDown | 開いているプログラムを左右に切り替える |
| Alt+Insert | 開いた順にプログラムを切り替える |
| Alt+Del | システム メニューを開く |
| Ctrl+Alt+テンキーの- | 作業中のウィンドウの画像をリモート側のクリップボードに入れる |
| Ctrl+Alt+テンキーの+ | 画面全体の画像をリモート側のクリップボードに入れる |
画面・音・ドライブ・プリンターの共有
「リモート デスクトップ接続」の「オプション」を開くと、「ローカル リソース」などで、手元の機器をリモート側で使う設定ができます。ドライブは「ローカル リソース」の「ドライブ」を選ぶと、手元のドライブがリモート側に見えます(Microsoft Learn のドライブ共有のトラブルシューティング)。
同じ設定は、接続を保存した .rdp ファイル(テキスト)に1行ずつ書かれます。Microsoft Learn の RDP のプロパティの一覧から、よく使うものを抜き出しました。
.rdp の項目 |
値の意味(既定値) |
|---|---|
screen mode id:i:2 |
1=ウィンドウ、2=全画面(2) |
use multimon:i:1 |
0=1画面、1=複数のモニターを使う |
dynamic resolution:i:1 |
ウィンドウの大きさに合わせて解像度を変える(1) |
audiomode:i:0 |
0=手元で鳴らす、1=リモート側で鳴らす、2=鳴らさない(0) |
redirectclipboard:i:1 |
クリップボードを共有する |
drivestoredirect:s:* |
手元のドライブを共有する。* は全部、C:\; のように指定も可 |
redirectprinters:i:1 |
手元のプリンターを使う |
手で作った .rdp は、mstsc /edit 名前.rdp で開いて画面で直せます。Microsoft Learn によると、既定の設定は「ドキュメント」フォルダーの隠しファイル Default.rdp に保存されます。
終わり方(切断とサインアウト)
リモート デスクトップの「切断」は、サインアウトとは違います。Microsoft Learn の tsdiscon コマンドの説明によると、切断したときに動いていたアプリは、同じセッションにつなぎ直すと、データを失わずに動いたままです。作業を終えてセッションも閉じたいときは、リモート側の「スタート」からサインアウトします。上の qwinsta の出力の Disc は、切断された状態のセッションです。
リモートデスクトップに接続できないときの直し方(エラー別)
この節では、つながらないときに出る文言から、原因と直し方を探せます。
つながらないときは、受ける側の電源 → 機能のオン → 同じネットワークか → ファイアウォールと3389番 → アカウント、の順に確かめます。 Microsoft Learn は、主な原因として「受ける側の待ち受け(RDP-TCP リスナー)が動いていない」ことと「ネットワークの設定の誤り」を挙げています。
- 1受ける側の電源とスリープ電源が入っていて、スリープしていないか。ノート PC はふたを閉じていないか
- 2リモート デスクトップがオンか設定のスイッチ、エディション(Home は不可)、qwinsta の rdp-tcp が Listen か
- 3同じネットワークか(社外なら VPN の中か)PC 名では失敗し IP アドレスでつながるなら、名前解決の問題
- 43389番に TCP でつながるかTest-NetConnection で TcpTestSucceeded が True か。False ならファイアウォールかポート
- 5アカウントと権限ユーザー名の書き方・パスワード・つないでよいユーザーに入っているか
flowchart TD
A[つながらない] --> B{電源と<br>機能はオン?}
B -->|いいえ| F1[電源・スリープ<br>エディション]
B -->|はい| C{3389番に<br>つながる?}
C -->|いいえ| F2[ファイアウォール<br>ポート・VPN]
C -->|はい| F3[ユーザー名<br>権限・NLA]
| 表示されるエラー(Microsoft Learn の原文) | 主な原因 | 直し方 |
|---|---|---|
| リモート デスクトップが次のいずれかの理由のためにリモート コンピューターに接続できません。(1) リモート アクセスが有効になっていない 2) 電源がオフ 3) ネットワーク上で使用できない) | 受ける側の機能がオフ・電源・スリープ・ネットワーク・ファイアウォール | 受ける側の設定と電源を確かめ、次の節の方法で3389番につながるかを見る |
| このコンピューターはリモート コンピューターに接続できません。 | 待ち受けやネットワークの問題、またはつなぐアカウントにリモートでサインインする権限がない | 「リモート デスクトップ ユーザー」に追加する。管理者のアカウントで試す |
| Windows セキュリティ エラー: 資格情報が機能しませんでした | ユーザー名かパスワードが違う | PC名\ユーザー名 の形で入れ直す。大文字と小文字も確かめる |
| リモート デスクトップ はコンピューター "name" が見つかりません。 | PC 名から IP アドレスを調べられない | IP アドレスでつなぐ。PC 名のつづりを確かめる |
| 認証エラーが発生しました。 ローカル セキュリティ機関にアクセスできません。 | ユーザー名の前に付けた PC 名・ドメイン名が見つからない | PC 名・ドメイン名のつづりを直す。ローカルの管理者アカウントで試す |
| ライセンスを提供できるリモート デスクトップライセンス サーバーがないため、リモート セッションが切断されました | Windows Server のリモート デスクトップ サーバーの役割の猶予期間(120日)が切れた | ライセンスを入れる。同時に2つ以上つながないなら役割を外す |
ネットワーク レベル認証(NLA)が求められてつながらないときは、つなぐ側の端末が NLA に対応しているかを確かめます。Microsoft Learn は NLA を有効のままにすることを勧め、対応しない以前の端末からつなぐときだけ一時的に切ることがある、としています。
Microsoft Learn のトラブルシューティングには、切り分けのためにファイアウォールやウイルス対策を一時的に止める方法も書かれていますが、確かめたら必ず元に戻すよう書かれています。
3389番につながるかを確かめる(Test-NetConnection と同じことを実物で)
この節では、「つながらない」の原因がネットワーク(ファイアウォール・ポート)にあるのかを見分ける方法と、その結果の読み方が分かります。
Windows では、つなぐ側の PowerShell で Test-NetConnection を使い、TcpTestSucceeded が True なら3389番まで届いています。 Microsoft Learn のトラブルシューティングは、同じネットワークの PC から次のコマンドで確かめる手順を載せています。-CommonTCPPort RDP と書いても 3389番を確かめられます。
Test-NetConnection -ComputerName PC名またはIPアドレス -Port 3389 -InformationLevel Detailed
Test-NetConnection -ComputerName PC名またはIPアドレス -CommonTCPPort RDP
False のときは、届かなかった理由までは表示されません。そこで、同じ「TCP で3389番につながるか」を、Linux の名前空間に作った2台(つなぐ側 10.97.0.10・受ける側 10.97.0.20)で8通り試し、失敗したときの文言と、かかった時間の違いを見ました。受ける側には、3389番で待ち受けて接続を記録するだけの小さな Python のプログラムを置いています(RDP の中身は話しません)。
"""Test-NetConnection -Port と同じ「TCP でつながるか」だけを確かめる"""
import socket, sys, time
host = sys.argv[1]
port = int(sys.argv[2]) if len(sys.argv) > 2 else 3389
timeout = float(sys.argv[3]) if len(sys.argv) > 3 else 5
start = time.monotonic()
try:
with socket.create_connection((host, port), timeout=timeout):
ok, err = True, "-"
except OSError as e:
ok, err = False, f"{type(e).__name__}: {e}"
print(f"ComputerName : {host}")
print(f"RemotePort : {port}")
print(f"TcpTestSucceeded : {ok}")
print(f"Error : {err}")
print(f"Elapsed : {time.monotonic() - start:.3f} s")
1. 待ち受けている(つながる)
$ ss -ltnp ← 受ける側(Windows の netstat -anob に当たる)
State Recv-Q Send-Q Local Address:Port Peer Address:PortProcess
LISTEN 0 128 0.0.0.0:3389 0.0.0.0:* users:(("python3",pid=3446,fd=3))
$ nc -vz -w 3 10.97.0.20 3389 ← つなぐ側
Connection to 10.97.0.20 3389 port [tcp/ms-wbt-server] succeeded!
$ python3 tnc.py 10.97.0.20 3389
ComputerName : 10.97.0.20
RemotePort : 3389
TcpTestSucceeded : True
Error : -
Elapsed : 0.003 s
2. 待ち受けていない(接続拒否)
受ける側で 3389番を待ち受けていない(機能がオフ・ポート番号が違う)と、すぐに断られます。ここでは待ち受けていない 3390番に送りました。
$ nc -vz -w 3 10.97.0.20 3390
nc: connect to 10.97.0.20 port 3390 (tcp) failed: Connection refused
$ python3 tnc.py 10.97.0.20 3390
TcpTestSucceeded : False
Error : ConnectionRefusedError: [Errno 111] Connection refused
Elapsed : 0.004 s
3. ファイアウォールで捨てられる(タイムアウト)
受ける側のファイアウォール(nftables)で、3389番あての通信を何も返さずに捨てる規則を入れました。返事が来ないので、決めた時間まで待ってから失敗します。
# 受ける側のファイアウォール
table inet s397 {
chain input {
type filter hook input priority filter; policy accept;
tcp dport 3389 drop
}
}
$ nc -vz -w 5 10.97.0.20 3389
nc: connect to 10.97.0.20 port 3389 (tcp) timed out: Operation now in progress
$ python3 tnc.py 10.97.0.20 3389 5
TcpTestSucceeded : False
Error : TimeoutError: timed out
Elapsed : 5.008 s
待つ時間を決めずに nc -v でつなぐと、OS が接続の要求(SYN)を送り直し続け、Connection timed out が出るまで 2分14.66秒かかりました。
パケットで見た3つの違い
つなぐ側で tcpdump を動かして、3つの場合に何が流れたかを比べました(時刻と数字の一部を省いています)。
=== つながる
21:28:45.845767 10.97.0.10.43262 > 10.97.0.20.3389: Flags [S] ← つなぐ側の要求
21:28:45.845788 10.97.0.20.3389 > 10.97.0.10.43262: Flags [S.] ← 受ける側の応答
21:28:45.845799 10.97.0.10.43262 > 10.97.0.20.3389: Flags [.] ← 接続が成立
=== 接続拒否(待ち受けていない)
21:28:47.091258 10.97.0.10.55662 > 10.97.0.20.3390: Flags [S]
21:28:47.091279 10.97.0.20.3390 > 10.97.0.10.55662: Flags [R.] ← 「受け付けない」と返す
=== タイムアウト(ファイアウォールが捨てる)
21:28:48.344567 10.97.0.10.43266 > 10.97.0.20.3389: Flags [S]
21:28:49.348696 10.97.0.10.43266 > 10.97.0.20.3389: Flags [S] ← 返事が無いので送り直す
21:28:50.372666 10.97.0.10.43266 > 10.97.0.20.3389: Flags [S]
21:28:51.396679 10.97.0.10.43266 > 10.97.0.20.3389: Flags [S]
21:28:52.420656 10.97.0.10.43266 > 10.97.0.20.3389: Flags [S]
21:28:53.444661 10.97.0.10.43266 > 10.97.0.20.3389: Flags [S]
21:28:55.460647 10.97.0.10.43266 > 10.97.0.20.3389: Flags [S]
失敗の仕方で、どこで止まっているかが分かる
実測では、接続拒否は0.004秒、タイムアウトは指定の5秒(指定なしでは2分14.66秒)で失敗した
そのほかの失敗の形(5通り)
| 試した状態 | 出た文言(nc・Python) | 失敗までの時間 |
|---|---|---|
| その IP アドレスの PC がいない(電源オフ・アドレス違い) | No route to host(Errno 113) | 3.080秒 |
| ファイアウォールが「管理上の禁止」を返す | No route to host(Errno 113) | 0.006秒 |
| 受ける側が 127.0.0.1(自分の中)だけで待ち受け | 外からは Connection refused、受ける側の中からは succeeded | すぐ |
| 受ける側のポートを 3390番に変えた | 3389番は Connection refused、3390番は succeeded | すぐ |
| ファイアウォールが RST や「ポート到達不能」を返す | Connection refused | すぐ |
- 「No route to host」は、相手の PC が見つからないときのほか、ファイアウォールが「禁止」と返したときにも出ました。 文言だけでは、電源オフかファイアウォールかを決められません。ping や、同じネットワークのほかの PC からの確認と組み合わせます。
- ポートを変えた PC には、
PC名:3390のようにポート番号まで付けてつなぎます。 3389番に送ると、待ち受けていないので接続拒否になります。
Linux と Windows で同じことを確かめるコマンドの対応です。
| 確かめること | Windows | Linux・Mac |
|---|---|---|
| 相手の3389番につながるか | Test-NetConnection 相手 -Port 3389 |
nc -vz 相手 3389 |
| 自分が3389番で待ち受けているか | netstat -anob | findstr 3389 |
ss -ltnp |
| 自分の IP アドレス | ipconfig |
ip addr(Mac は ifconfig) |
| 相手まで届くか | ping 相手 |
ping 相手 |
接続拒否とタイムアウトの違いは、関連記事「Connection refused・Read timed outの違いと直し方」で、ポートを使っているプロセスの調べ方は、関連記事「ポートを使っているプロセスの調べ方|ss・lsof・netstat比較」で扱っています。
社外からリモートデスクトップでつなぐときの注意(3389番を直接出さない)
この節では、自宅や外出先から会社・家の PC につなぐときに、何を使い、何をしてはいけないかが分かります。
3389番をインターネットに直接開けずに、VPN(社内のネットワークに安全に入る仕組み)の中を通してつなぎます。 Microsoft Learn は、ルーターのポート転送で PC をインターネットに開くことは「推奨されない」とし、VPN を使うほうが望ましいと書いています。VPN でつなぐと、つなぐ側のアプリは同じネットワークにいるのと同じように受ける側にアクセスできます。
flowchart TD
O[社外のPC] -->|直接 3389番| X[インターネットに<br>開いたPC<br>推奨されない]
O -->|VPN| G[会社・家の<br>ネットワーク]
G -->|3389番| P[受ける側のPC]
警察庁の「令和7年上半期におけるサイバー空間をめぐる脅威の情勢等について」は、ランサムウェアの被害企業へのアンケートで、VPN やリモートデスクトップ用の機器からの侵入が、感染経路の8割以上を占めると報告しています。社外から入れる入口は、VPN の機器も含めて更新と認証を固めておく必要があります。
- 13389番をルーターでインターネットに転送しない社外からは VPN や会社が用意した仕組みを通す
- 2つなげるアカウントに強く使い回さないパスワードMicrosoft Learn も、リモートでつなげる全アカウントに強く一意のパスワードを求めている
- 3ネットワーク レベル認証(NLA)をオンのままセッションを始める前に認証させる
- 4つないでよいユーザーと接続元を絞る要らないアカウントは外す。ファイアウォールで接続元のアドレスを限る
- 5Windows と VPN の機器を最新に保つ使わない期間はリモート デスクトップをオフにする
会社の PC は、会社の決まり(情報システムの担当の許可)に従います。 自分で受ける側の設定を変えたり、VPN を足したりする前に確かめます。
接続元を絞ると、ほかからは届かなくなる(実物)
受ける側のファイアウォールで、「10.97.0.10 以外からの 3390番は捨てる」規則を入れ、同じ PC の2つのアドレスから試しました。許可したアドレスだけがつながり、それ以外はタイムアウトになりました。
table inet s397 {
chain input {
type filter hook input priority filter; policy accept;
tcp dport 3390 ip saddr != 10.97.0.10 drop
}
}
--- 10.97.0.10 から(許可)
Connection to 10.97.0.20 3390 port [tcp/*] succeeded!
--- 10.97.0.11 から(許可していない)
nc: connect to 10.97.0.20 port 3390 (tcp) timed out: Operation now in progress
Windows のファイアウォールでも、規則の「スコープ」でリモートの IP アドレスを限れます。Microsoft Learn は、つなぐ側の IP アドレスが変わる場合は、その接続事業者のアドレスの範囲を許可するよう書いています。
外から見える IP アドレスと VPN の選び方
社外からつなぐには、家や会社の「外から見える IP アドレス(グローバル IP アドレス)」と VPN が要ります。Microsoft Learn は、接続事業者がルーターの IP アドレスをいつでも変えることがあるので、ダイナミック DNS(変わる IP アドレスに決まった名前を付ける仕組み)を検討するよう書いています。
グローバル IP アドレスの確かめ方は関連記事「グローバルIPの確認方法|コマンド・プライベートIPとの違いとNATを実演」で、ポートを開けずに端末どうしを VPN でつなぐ方法は関連記事「Tailscaleとは|使い方・料金・VPNとの違いをWireGuardで実演」で扱っています。
リモートデスクトップのポート番号を変える(3389以外)
この節では、受ける側の待ち受けのポートを変える手順と、変えたときのつなぎ方が分かります。
ポート番号は、受ける側のレジストリの PortNumber で変え、ファイアウォールで新しい番号を通し、つなぐ側は PC名:番号 でつなぎます。 Microsoft Learn の手順のコマンドです(管理者の PowerShell)。
# 今のポート番号を見る
Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name 'PortNumber'
# ポート番号を変える(例 3390)
$portValue = 3390
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name 'PortNumber' -Value $portValue
# 新しい番号をファイアウォールで通す(Microsoft Learn の例。-Profile は環境に合わせる)
New-NetFirewallRule -DisplayName 'RDPPORTLatest-TCP-In' -Profile Public -Direction Inbound -Action Allow -Protocol TCP -LocalPort $portValue
New-NetFirewallRule -DisplayName 'RDPPORTLatest-UDP-In' -Profile Public -Direction Inbound -Action Allow -Protocol UDP -LocalPort $portValue
- つなぐ側は
PC名:3390やmstsc /v:PC名:3390のように、番号を付けてつなぎます。前の節の実物のとおり、番号を付けずに3389番へ送ると接続拒否になります。 - ほかのファイアウォール(ルーターやセキュリティ ソフト)を使っているときは、そちらでも新しい番号を通す必要がある、と Microsoft Learn は書いています。
- 番号を変えても、インターネットに直接開くことの危うさは変わりません。 社外からは、前の節のとおり VPN を通します。
ほかの遠隔操作ツールとの違い
この節では、Windows のリモートデスクトップと、似た目的のツールの違いを事実で比べられます。
| ツール | 受ける側の条件 | 通信と入口 | 向いている使い方 |
|---|---|---|---|
| リモート デスクトップ接続(RDP) | Windows の Pro 以上で機能をオン | 受ける側の 3389番に直接つなぐ | 自分の PC・社内の PC を自分で使う |
| クイック アシスト(Microsoft) | Windows 11・10。共有する側はサインイン不要 | Microsoft のクラウドを中継(443番)。セキュリティ コードで接続 | サポート担当が相手の画面を見て手伝う |
| Chrome リモート デスクトップ(Google) | Windows・Mac・Linux に設定。Chrome で使う | リモート アクセスは PIN、サポートは1回限りのコード | Home や Mac も含めて遠隔で使う |
| VNC | 各 OS の VNC サーバー | RFB という決まり。一般に 5900番 | OS をまたいで画面を共有する |
| SSH | SSH サーバー | 一般に 22番。主にコマンドで操作 | サーバーをコマンドで操作する |
- クイック アシストは、自分から頼んだ相手にだけ使います。 Microsoft Learn は、Microsoft サポートや社内の IT 担当に自分から連絡した場合にだけ接続を許可し、Microsoft から突然アクセスを求めることは無い、と注意しています。
- Chrome リモート デスクトップの「リモート サポート」で相手と共有すると、相手に PC へのフル アクセスを許すことになると Google のヘルプは注意しています。アクセス コードは1回限り有効です。
- VNC の RFB は RFC 6143 で決められ、クライアントはサーバーの TCP 5900番につなぐとされています(IANA が RFB に割り当てた番号も 5900番)。
SSH でサーバーにつなぐ方法は、関連記事「ssh コマンドの使い方まとめ|鍵・ポート指定・config・接続エラー対処」で扱っています。
よくある質問
Q. リモートデスクトップ接続とは何ですか? A. 離れた場所の Windows PC に、手元の PC やスマホからネットワーク越しにサインインして操作する Windows の機能です。RDP という決まりで、既定は3389番ポートを使います。
Q. Windows 11 Home でリモートデスクトップは使えますか? A. つなぐ側としては使えますが、つながれる側(ホスト)にはなれません。受ける側は Pro・Enterprise・Education のいずれかが要ります。
Q. リモートデスクトップの設定はどこでしますか? A. 受ける側で「スタート」>「設定」>「システム」>「リモート デスクトップ」を開き、スイッチをオンにして「確認」を選びます。同じ画面の「PC 名」を控えておきます。
Q. リモートデスクトップが接続できないのはなぜですか? A. 多いのは、受ける側の電源・スリープ、機能がオフ(Home を含む)、ファイアウォール、PC 名の間違い、ユーザー名の書き方です。Test-NetConnection で3389番につながるかを見ると、ネットワークの問題かどうかを分けられます。
Q. リモートデスクトップのポート番号は何番ですか?
A. 既定は3389番で、TCP と UDP を使います。受ける側のレジストリの PortNumber で変えられ、変えたときは PC名:番号 でつなぎます。
Q. Mac や iPhone からリモートデスクトップでつなげますか? A. つなげます。App Store から Windows App を入れ、受ける側の PC 名を追加して選びます。受ける側は Pro 以上で、リモート デスクトップがオンになっている必要があります。
Q. リモート先で Ctrl+Alt+Delete を押すには? A. Ctrl+Alt+End を押すと、リモート側で Windows セキュリティの画面が開きます。
Q. リモートデスクトップの全画面を解除するには? A. Ctrl+Alt+Break で全画面とウィンドウ表示を切り替えます。Microsoft サポートのショートカット一覧にあるキーです。
Q. 手元のファイルをリモート側で使うには? A. 「リモート デスクトップ接続」の「オプション」の「ローカル リソース」でドライブを選ぶと、手元のドライブがリモート側に見えます。クリップボードの共有で、コピーと貼り付けも使えます。
Q. 外出先から家の PC にリモートデスクトップでつなぐには? A. 3389番をルーターでインターネットに転送せず、VPN で家のネットワークに入ってからつなぎます。Microsoft Learn も、PC をインターネットに開くことは推奨せず、VPN を勧めています。
Q. 「資格情報が機能しませんでした」と出ます。
A. 受ける側の PC が、入れたユーザー名とパスワードを確かめられなかったときの表示です。ローカル アカウントは PC名\ユーザー名 の形で入れ直し、パスワードの大文字・小文字も確かめます。
まとめ
- リモートデスクトップ接続は、受ける側(Pro 以上)で「設定」>「システム」>「リモート デスクトップ」をオンにし、つなぐ側の「リモート デスクトップ接続」(mstsc)に PC 名を入れてつなぐ。
- Home はつなぐ側だけ。Mac・iPhone・Android は Windows App(Android は Microsoft サポートでは「リモート デスクトップ」アプリの手順)。Microsoft Store の以前のアプリは2025年5月27日にサポートが終わった。
- リモート側の Ctrl+Alt+Delete は Ctrl+Alt+End、全画面の切り替えは Ctrl+Alt+Break。
- つながらないときは、電源 → 機能 → ネットワーク → 3389番 → アカウントの順。実測では、待ち受けていないと 0.004秒で接続拒否、ファイアウォールで捨てられると時間切れ(指定なしで2分14.66秒)になった。
- 社外からは 3389番をインターネットに開かず、VPN を通す。接続元を絞ると、許可した相手以外は届かなくなった。
次に読むとよい記事です。社外から安全に入る方法は関連記事「Tailscaleとは|使い方・料金・VPNとの違いをWireGuardで実演」で、エラーの読み分けは関連記事「Connection refused・Read timed outの違いと直し方」で扱っています。
参考・出典
確認日はいずれも 2026年10月23日です。
- Microsoft サポート「リモート デスクトップの使い方」:https://support.microsoft.com/ja-jp/windows/how-to-use-remote-desktop-5fe128d5-8fb1-7a23-3b8a-41e636865e8c
- Microsoft サポート「Windows のキーボード ショートカット」:https://support.microsoft.com/ja-jp/windows/windows-%E3%81%AE%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89-%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88-dcc61a57-8ff0-cffe-9796-cb9706c75eec
- Microsoft Learn「Enable Remote Desktop on your PC」:https://learn.microsoft.com/en-us/windows-server/remote/remote-desktop-services/remotepc/remote-desktop-allow-access
- Microsoft Learn「Allow access to your PC from outside your PC's network」:https://learn.microsoft.com/en-us/windows-server/remote/remote-desktop-services/remotepc/remote-desktop-allow-outside-access
- Microsoft Learn「Change the listening port for Remote Desktop on your computer」:https://learn.microsoft.com/en-us/windows-server/remote/remote-desktop-services/clients/change-listening-port
- Microsoft Learn「mstsc」:https://learn.microsoft.com/ja-jp/windows-server/administration/windows-commands/mstsc
- Microsoft Learn「リモート デスクトップからリモート コンピューターに接続できない」:https://learn.microsoft.com/ja-jp/troubleshoot/windows-server/remote/remote-desktop-cannot-connect-remote-computer
- Microsoft Learn「Azure の Windows VM に対する特定の RDP エラー メッセージのトラブルシューティング」:https://learn.microsoft.com/ja-jp/troubleshoot/azure/virtual-machines/windows/troubleshoot-specific-rdp-errors
- Microsoft Learn「ローカル ドライブのリダイレクトが機能しない」:https://learn.microsoft.com/ja-jp/troubleshoot/windows-server/remote/local-drive-redirection-isnt-working
- Microsoft Learn「Supported RDP properties」:https://learn.microsoft.com/en-us/azure/virtual-desktop/rdp-properties
- Microsoft Learn「What is Windows App?」:https://learn.microsoft.com/en-us/windows-app/overview
- Microsoft Learn「Get started with Windows App to connect to devices and apps」:https://learn.microsoft.com/en-us/windows-app/get-started-connect-devices-desktops-apps
- Microsoft Learn「Use the Remote Desktop app for Windows to connect to Remote Desktop Services and remote PCs」:https://learn.microsoft.com/en-us/previous-versions/remote-desktop-client/remote-desktop-windows-urdc
- Microsoft Learn「Test-NetConnection」:https://learn.microsoft.com/en-us/powershell/module/nettcpip/test-netconnection
- Microsoft Learn「tsdiscon」:https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/tsdiscon
- Microsoft Learn「Use Quick Assist to help users」:https://learn.microsoft.com/en-us/windows/client-management/client-tools/quick-assist
- Google Chrome ヘルプ「Chrome リモート デスクトップを使用して別のパソコンにアクセスする」:https://support.google.com/chrome/answer/1649523?hl=ja
- 警察庁「令和7年上半期におけるサイバー空間をめぐる脅威の情勢等について」:https://www.npa.go.jp/publications/statistics/cybersecurity/data/R7kami/R07_kami_cyber_jyosei.pdf
- IETF「RFC 6143 The Remote Framebuffer Protocol」:https://www.rfc-editor.org/rfc/rfc6143
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「リモートデスクトップ接続の使い方|設定・つなぎ方・つながらない時の直し方」
株式会社RJC ― SI事業・SES事業・AI駆動開発。RJCは一緒に成長を楽しめる会社です。
WE ARE HIRING
RJCで一緒に開発しながら、
成長を楽しみませんか?
RJCは、Web・モバイル・AIを活用した開発プロジェクトで、テックリードやPM・PMOも活躍するシステム開発会社です。会社を知る、待遇を確かめる、話を聞いてみる。気になるところ見てみてください!
- 127日年間休日
- 12時間平均残業時間
- 毎日ガチャ遊びココロも大切にする福利厚生。アマギフなどの賞品ラインナップ!
ほかにも、チケットレストラン、書籍読み放題、2年ごとの慰労報奨(休暇 or 金一封)、11期連続の黒字決算。