Ubuntuでリモートデスクトップを使う方法まとめ|RDP・VNC・SSHの設定手順と接続トラブル解決ガイド【初心者OK】

目次

1. はじめに:Ubuntuでリモートデスクトップを使う理由

Ubuntuを遠隔操作するシーンはどんどん増えている

UbuntuをはじめとするLinux系OSは、これまで主に開発者やサーバー管理者が使用するイメージが強く、ローカル環境での操作が前提とされてきました。しかし近年では、在宅勤務の拡大や学習用PCとしてUbuntuを導入する人も増え、「Ubuntuをリモートで操作したい」というニーズが高まっています。

例えば、自宅のUbuntuサーバーを外出先から操作したり、古いノートPCにUbuntuを入れてリモート開発用の端末にしたりと、リモートデスクトップの活用範囲は広がっています。

Windowsとの違いは?Ubuntuならではの利点

「Windowsにもリモートデスクトップはあるけど、Ubuntuでやる意味ってあるの?」と疑問に思う人もいるかもしれません。実は、Ubuntuには以下のようなリモート操作に適した特徴があります。

  • 軽量で安定したOSのため、低スペックPCでも快適に動作する
  • セキュリティが高く、SSHなどの暗号化通信との親和性が高い
  • 無料かつオープンソースで、複数端末での活用にコストがかからない

これらの理由から、特にプログラミング学習やサーバー用途でUbuntuを選び、リモートで活用するケースが増えているのです。

「難しそう」と感じる初心者にも使いやすくなっている

Linux系OSに慣れていない方の中には、「リモート接続の設定ってコマンドばかりで難しそう」と不安を抱える人も多いでしょう。確かに以前は、Ubuntuでリモート接続を行うにはVNCサーバーの手動設定や、SSH経由でのポート転送など、ある程度の知識が必要でした。

しかし、Ubuntu 22.04 LTS以降では、RDP(Remote Desktop Protocol)によるリモート接続が標準でサポートされるようになり、GUIだけで設定可能になっています。初心者にとっても扱いやすくなったことで、より多くの人がUbuntuのリモート活用に挑戦できるようになりました。

本記事の目的と構成

本記事では、Ubuntuを使ってリモートデスクトップ接続を実現するための方法を、初心者にもわかりやすく、段階的に解説していきます。Ubuntu 22.04の最新機能を活用する方法から、旧バージョンでのxrdp設定、さらにはVNCやSSHトンネルを使ったセキュリティ強化の手法まで、幅広く網羅しています。

それぞれの手法の特徴や違いも比較しながら、自分に合った方法を見つけられるように構成していますので、ぜひ最後まで読み進めてみてください。

2. Ubuntuで使えるリモートデスクトップ方式の比較【VNC vs RDP】

リモート接続には複数のプロトコルがある

Ubuntuでリモートデスクトップを実現する方法は一つではありません。大きく分けて以下の3つの方式が主流です。

  • RDP(Remote Desktop Protocol)
  • VNC(Virtual Network Computing)
  • SSH(Secure Shell)+X転送またはトンネル

このうち、RDPとVNCは「デスクトップ画面をそのまま転送する方式」として、一般的なリモート操作に多く利用されています。一方、SSHは主にコマンドラインでの遠隔操作や、セキュリティ強化のための補助的手段として使われます。

ここでは、特に初心者にも扱いやすいRDPとVNCについて、それぞれの特徴と違いを比較していきます。

RDP(Remote Desktop Protocol)とは

RDPは、もともとMicrosoftが開発したプロトコルで、Windowsでは標準機能として広く使われています。Ubuntuでもxrdpというソフトウェアを使うことで、このRDPプロトコルを通じてリモート接続が可能になります。

Ubuntu 22.04以降では、GNOME環境にRDP機能が標準搭載されているため、xrdpを別途インストールしなくても、GUIだけでリモート接続の設定が完結します。

RDPの特徴:

  • Windowsとの互換性が高く、Windows標準のリモート接続ツールから接続できる
  • 接続後の画面描画が高速で滑らか
  • 認証機能や暗号化機能が標準装備で、比較的安全

こんな人におすすめ:

  • UbuntuとWindowsを組み合わせて使っている人
  • GUIで簡単に設定したい初心者
  • セキュリティや安定性を重視する人

VNC(Virtual Network Computing)とは

VNCは、クロスプラットフォームで利用できるリモートデスクトップ技術です。Ubuntuでは「vino」や「tightvncserver」などのソフトを使って実装できます。

VNCの仕組みはRDPと少し異なり、「デスクトップ画像を逐次転送する」方式のため、描画が若干遅くなる傾向があります。一方で、セッションの共有(複数人で同時に同じ画面を見る)といった機能に柔軟性があるのが利点です。

VNCの特徴:

  • クロスプラットフォームでの利用が可能(MacやAndroidからも接続しやすい)
  • 複数ユーザーで同時に同一画面を共有可能
  • セキュリティ機能がやや弱く、SSHと組み合わせて使うのが望ましい

こんな人におすすめ:

  • 複数人でUbuntuをリモート操作したい場合
  • Windows以外の端末から接続したい場合
  • 細かくカスタマイズしたい中〜上級者

比較表:RDPとVNCの違い

項目RDPVNC
接続のしやすさ◎(GUI設定・Windowsから簡単)△(初期設定にやや手間)
描画の快適さ◎(滑らか)△(若干カクつくことも)
セキュリティ◎(標準で暗号化対応)△(SSHトンネル推奨)
セッション共有×○(複数人で同時操作が可能)
対応プラットフォームWindows中心クロスプラットフォーム(Linux, Mac, Android等)

どちらを選べばいい?

初心者やWindowsユーザーにはRDPがおすすめです。設定も簡単で、接続も安定しているため、導入のハードルが低く、Ubuntuのリモート接続の入門には最適です。

一方で、細かい設定が必要だったり、Windows以外の端末から接続したい人はVNCを選ぶと柔軟性が高いです。ただし、VNCを使う場合は、SSHトンネルなどのセキュリティ対策をセットで導入することが重要です。

3. 【最新版】Ubuntu 22.04でRDP(リモートデスクトップ)を有効にする方法

Ubuntu 22.04ではRDP機能が標準搭載に

Ubuntu 22.04 LTS以降、デフォルトのデスクトップ環境(GNOME)にリモートデスクトップ機能が標準搭載されるようになりました。これにより、追加でxrdpなどの外部ツールをインストールしなくても、RDP接続が簡単に利用可能になっています。

この新機能を使えば、Windowsの標準リモートデスクトップクライアント(mstsc.exe)から、Ubuntuに直接接続できるため、初心者にも非常に扱いやすくなっています。

事前準備と確認事項

RDPを有効にする前に、以下の点を確認してください。

  • Ubuntuのバージョンが22.04以降であること
  • GNOMEデスクトップ環境を使用していること
  • WaylandではなくX.orgセッションでログインしていること(重要)

特に最後の「WaylandではなくX.orgでログイン」している点は、リモートデスクトップ機能を利用する上で非常に重要です。Waylandでは現在、RDP接続に対応していないため、以下の手順でセッションを変更してください。

X.orgセッションでログインする方法

  1. Ubuntuのログイン画面で、ユーザー名を選択
  2. パスワードを入力する前に、右下の歯車アイコン(⚙)をクリック
  3. 「Ubuntu on Xorg」を選択
  4. パスワードを入力してログイン

リモートデスクトップを有効にする手順

  1. 「設定」アプリを開く
  2. 左側メニューから「共有」を選択
  3. リモートデスクトップ」をクリック
  4. リモートデスクトップを有効にする」をオンにする
  5. 認証方式を「パスワード」に設定し、任意の接続パスワードを入力
  6. 「ネットワーク」セクションで「ローカルネットワーク上のユーザーがこのコンピュータに接続できるようにする」にチェックを入れる

これでUbuntu側の設定は完了です。

WindowsからUbuntuに接続する手順

  1. Windowsキー + R を押し、「mstsc」と入力してEnter(リモートデスクトップ接続ツールを起動)
  2. 「コンピュータ」欄に、UbuntuのIPアドレスを入力
  3. 接続すると、Ubuntuで設定したユーザー名とパスワードを入力する画面が表示される
  4. 接続完了

UbuntuのIPアドレスは、「設定」>「Wi-Fi」または「有線接続」から確認できます。もしくはターミナルで以下のコマンドを使っても確認できます:

ip a

ファイアウォールの設定(必要に応じて)

UbuntuのUFW(Uncomplicated Firewall)を有効にしている場合は、RDPポート(デフォルトでTCPの3389番)を開放する必要があります。

sudo ufw allow 3389/tcp

その後、UFWを再起動または状態確認します:

sudo ufw status

よくあるトラブルと対処法

問題対処法
接続時に画面が真っ黒になるX.orgでログインしているか確認
接続が拒否されるファイアウォールや同一ネットワーク内かを確認
パスワード入力後に反応しないGNOMEの共有設定でリモートデスクトップが有効か確認

補足:LAN内での使用が前提

この方法は基本的に同一ネットワーク(LAN)内での使用が想定されています。外部から接続したい場合は、VPNやポートフォワーディングの設定、SSHトンネルとの併用などが必要になります(これについては後述の章で解説します)。

4. Ubuntu 20.04以前でxrdpを使ってリモート接続する方法

Ubuntu 20.04ではxrdpの導入が必要

Ubuntu 20.04やそれ以前のバージョンには、Ubuntu 22.04のような標準RDP機能は搭載されていません。そのため、Windowsからリモート接続を行う場合は、「xrdp」という外部パッケージを利用して、RDPサーバー機能をUbuntu側に追加する必要があります。

xrdpは、MicrosoftのRDPプロトコルと互換性があるため、Windows標準の「リモートデスクトップ接続」ツールからUbuntuへ簡単にアクセスできます。

xrdpのインストールと基本設定

Ubuntu 20.04でxrdpを導入するには、ターミナルで以下のコマンドを実行します。

sudo apt update
sudo apt install xrdp -y

インストールが完了すると、自動的にxrdpサービスが起動します。起動状況を確認するには以下のコマンドを使用します。

sudo systemctl status xrdp

緑の「active(running)」が表示されていれば正常に動作しています。

デスクトップ環境の選択(Xfceが推奨)

UbuntuのデフォルトのGNOMEデスクトップは、xrdpとの相性があまり良くありません。セッションが正しく開始できなかったり、黒い画面が表示されてしまうケースが多々あります。

そのため、xrdpと相性の良いXfceデスクトップ環境をインストールし、xrdp経由のセッションで使用するよう設定することをおすすめします。

Xfceのインストール

sudo apt install xfce4 -y

セッション設定の変更

Xrdpで使用するセッションをXfceに変更するために、以下のように設定ファイルを作成または編集します。

echo "startxfce4" > ~/.xsession

ファイルの権限を適切に設定しておきましょう:

chmod +x ~/.xsession

さらに、polkit関連の権限エラーを避けるために、セッション設定ファイルの一部を調整する必要があることもありますが、通常のローカル用途では上記だけで動作する場合が多いです。

ファイアウォールの設定

xrdpはポート3389/tcpを使用します。Ubuntuのファイアウォール(ufw)を有効にしている場合は、以下のコマンドでポートを開放します。

sudo ufw allow 3389/tcp

Windowsからの接続方法(再掲)

  1. Windowsキー + R → mstsc を実行
  2. 「コンピュータ」にUbuntuのIPアドレスを入力
  3. xrdpのログイン画面が表示されたら、Ubuntuのユーザー名とパスワードを入力
  4. 接続完了(Xfceセッションが表示されます)

※IPアドレスはUbuntuの端末で ip a または hostname -I コマンドを使用して確認可能です。

よくある問題と対処法

症状原因と解決策
接続後に画面が真っ黒GNOMEではなくXfceを使う。.xsessionstartxfce4 を記述
「セッションが終了しました」と表示されるUbuntuとxrdpのセッション管理が合っていない。Xfceの導入を確認
パスワード入力後に接続が切れるSELinuxやpolkitの設定が原因の可能性。セキュリティログを確認する

自動起動・再起動設定(任意)

xrdpサービスをシステム起動時に自動で立ち上げたい場合は、以下のコマンドで有効にしておきましょう。

sudo systemctl enable xrdp

5. VNCサーバーを使った接続方法(vino / tightvncなど)

VNCとは?Ubuntuでも使えるリモートデスクトップ技術

VNC(Virtual Network Computing)は、ネットワーク経由で画面を共有するプロトコルで、WindowsやLinux、macOSなどクロスプラットフォームで利用可能な点が特徴です。Ubuntuでも、VNCサーバーを導入すれば他のPCやスマホなどからリモート接続することができます。

VNCはRDPと比べると、やや設定が複雑で描画速度も劣りますが、セッションの共有や接続先の柔軟性といった点で優れています。とくに、複数ユーザーで同じデスクトップ画面を同時に閲覧・操作したい場合には便利な選択肢です。

Ubuntuで使える主なVNCサーバー

Ubuntuでは、以下のようなVNCサーバーがよく利用されます。

サーバー名特徴
vinoGNOME環境に組み込まれており、設定がGUIで完結する。初心者向け。
tightvncserver軽量・高速で古くから使われている。コマンド操作中心。
x11vnc実際にログイン中のセッションにアクセスできる。GUIセッション共有に最適。

GNOME環境でvinoを使う方法(Ubuntu 20.04〜22.04)

GNOMEには「vino」というVNCサーバー機能が内蔵されており、GUIから簡単に設定できます。

1. 必要なパッケージのインストール(もし未導入なら)

sudo apt install vino -y

2. 「設定」からリモート操作を有効化

  1. 「設定」アプリを開く
  2. 「共有」>「画面共有」を選択
  3. 「画面共有をオン」にする
  4. 「ネットワーク経由でのアクセスを許可する」を有効化
  5. パスワード認証を設定(セキュリティのため強く推奨)

※GNOMEがWaylandセッションの場合、vinoが正しく動作しないため、X.orgでログインする必要があります(3章で解説済)。

3. 接続テスト

別のPCからVNCクライアント(例:RealVNC Viewer、TigerVNC)を使って、UbuntuのIPアドレスに接続します。
アドレスは 192.168.1.100:5900 のような形式になります。

CLIで使いたいならtightvncserver

サーバー用途など、GUIなしで軽量に導入したい場合は tightvncserver が定番です。

1. インストール

sudo apt install tightvncserver -y

2. 初回起動でパスワードを設定

vncserver

初回実行時に接続パスワードの入力を求められます。

3. VNCセッションの開始

vncserver :1

これにより、VNCセッションがポート 5901(5900 + ディスプレイ番号)で起動されます。

4. UbuntuにXfceなどの軽量デスクトップ環境を設定する(任意)

tightvncはGNOMEと相性が悪いため、~/.vnc/xstartup ファイルに以下のように記述して、Xfceセッションで起動するのが一般的です:

#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &

スクリプトの実行権限を与える:

chmod +x ~/.vnc/xstartup

セキュリティ上の注意:SSHトンネルの併用が推奨される

VNCプロトコルは、通信内容が暗号化されていないため、LAN外やインターネット経由で使用する場合はSSHトンネルと併用することが強く推奨されます。

例:ローカルPCで以下のように接続

ssh -L 5901:localhost:5901 your-user@remote-ubuntu

その後、VNCビューアで localhost:5901 に接続することで、安全に通信を行うことができます。

まとめ:VNCは柔軟だがセキュリティに注意

VNCはUbuntuでのリモート接続において、柔軟性とマルチプラットフォーム対応という点で優れていますが、セキュリティ対策を施さないと脆弱です。特に外部ネットワークから使用する場合はSSHトンネルの活用を強くおすすめします。

また、GUIベースで手軽に使いたい場合はvino、軽量・サーバー向けにはtightvnc、ログイン中のセッションを共有したい場合はx11vncなど、目的に応じてVNCサーバーを選ぶと良いでしょう。

6. WindowsからUbuntuへ接続する方法【接続クライアントの紹介】

Ubuntuをリモート操作するには、接続元にもツールが必要

Ubuntu側でリモートデスクトップの設定が完了していても、接続する側のPC(通常はWindows)にも、対応するクライアントソフトが必要です。WindowsにはRDPクライアントが標準で用意されていますが、用途によってはより高機能なソフトも選択できます。

この章では、WindowsからUbuntuに接続する代表的な方法を、プロトコル別にわかりやすく紹介します。

RDPを使う場合:Windows標準「リモートデスクトップ接続」

UbuntuがRDP(xrdpまたはGNOMEの標準RDP機能)に対応していれば、Windowsに標準で備わっている「リモートデスクトップ接続」アプリでアクセスできます。

接続手順

  1. Windowsキー + R を押して「mstsc」と入力し、Enter
  2. コンピュータ」欄にUbuntuのIPアドレス(例:192.168.1.10)を入力
  3. 「接続」をクリック
  4. ユーザー名・パスワードを入力し、接続完了

メリット

  • ソフトのインストール不要
  • 操作性が軽快で安定性も高い
  • Windowsユーザーにとって親しみやすいUI

注意点

  • 接続先UbuntuがRDPに対応していないと使用できない(旧版はxrdpの設定が必要)
  • ローカルネットワーク内が前提(外部接続にはVPNやSSHトンネルが必要)

VNCを使う場合:VNCクライアントソフトを使用

Ubuntu側にVNCサーバー(vino、tightvncなど)がインストールされていれば、WindowsからもVNCビューアを使って接続可能です。

おすすめのVNCクライアントソフト

ソフト名特徴
RealVNC Viewer商用・非商用どちらにも対応。UIが洗練されており初心者にも扱いやすい。
TigerVNC Viewerオープンソース。機能はシンプルだが軽量で動作が速い。
TightVNC Viewer長く使われている定番。最低限の機能で軽快に動作する。

接続手順(RealVNCを例に)

  1. RealVNC Viewerをインストール・起動
  2. 接続先に 192.168.1.10:5900(または5901など)を入力
  3. 接続をクリックし、VNCパスワードを入力
  4. Ubuntuの画面が表示され、遠隔操作が可能に

注意点

  • 通信は暗号化されていないため、安全に使うにはSSHトンネルを併用する必要あり
  • 描画の滑らかさはRDPよりやや劣る

Remmina:マルチプロトコル対応の高機能クライアント(Ubuntu側でも使える)

Remmina(レミナ)は、RDP・VNC・SSHなど複数の接続方式を1つのアプリで管理できるリモートデスクトップクライアントです。もともとLinux向けですが、Windows版も配布されており、両者で共通の操作が可能です。

特徴

  • 1つのアプリでRDP・VNC・SSH接続を一元管理
  • 接続先のプロファイル保存、スケーリングなど多機能
  • Ubuntu側でも使用可能なので、逆にUbuntuからWindowsへ接続したい場合にも役立つ

Windowsでの導入方法

  • Remminaの公式サイト(https://remmina.org)からインストーラーをダウンロードして使用可能

IPアドレスの確認方法(Ubuntu側)

Windowsからの接続には、UbuntuのローカルIPアドレスを知る必要があります。Ubuntuでは以下のいずれかで確認できます。

GUIでの確認方法

  • 「設定」>「ネットワーク」>「有線」または「Wi-Fi」から、詳細情報を確認

ターミナルで確認

ip a

もしくは

hostname -I

上記コマンドで表示される 192.168.*.* の形式のアドレスを使用します。

ネットワークに関する補足

接続元と接続先が同じLAN内にあることが前提です。もし別ネットワークや外出先から接続したい場合は、以下のような対策が必要になります。

  • VPN(仮想プライベートネットワーク)の構築
  • ルーターでポートフォワーディングを設定(セキュリティ上の配慮が必要)
  • SSHトンネルを使った安全な経路確保(後述)

まとめ:目的に応じたクライアントを選ぼう

接続方式おすすめクライアント主な用途
RDPWindows標準「リモートデスクトップ接続」Windows→Ubuntuで簡単に使いたい
VNCRealVNC / TigerVNC / TightVNC複数端末で共有操作したい、Macやスマホでも使いたい
SSHRemminaセキュリティを重視したコマンド・GUI併用接続

Ubuntu側の設定が済んでいれば、接続元Windowsの環境に合わせて最適なクライアントを選ぶことで、ストレスのないリモート操作が可能になります。

7. 日本語入力・キーボード設定のトラブルシューティング

リモート接続で起こる「日本語入力できない」問題

Ubuntuをリモートで操作していると、「日本語が入力できない」「半角/全角キーが効かない」「バックスラッシュ(\)が入力できない」といったトラブルに直面することがあります。これは、リモート接続によるセッション環境の違いが原因で、ローカル操作時と入力設定が異なるために発生します。

この章では、Ubuntuでリモート接続中に発生しやすい日本語入力やキーボードのトラブルとその対処法を詳しく解説します。

日本語入力ができない/IMEが動かない

主な原因

  • 入力メソッド(IME)がリモートセッションで起動していない
  • fcitxやibusなどの入力フレームワークがセッションごとにうまく連携していない
  • GNOMEセッションとRDPの相性問題

解決策1:Mozc+fcitxを明示的に起動

Ubuntuで一般的な日本語入力環境は「fcitx-mozc」の組み合わせです。リモート接続時にこの環境が自動で起動しない場合、以下のコマンドを使って手動で立ち上げることで解決できることがあります。

fcitx-autostart

または

fcitx -r

解決策2:セッションごとに入力メソッドの再設定を試す

  1. 設定 > 地域と言語 > 入力ソースを確認
  2. 「日本語(Mozc)」が有効になっているか確認
  3. なければ「+」を押して日本語入力を追加

再ログイン後に反映されることもあるため、一度ログアウト・ログインを行ってみてください。

半角/全角キーが効かない、キーマッピングのズレ

リモートデスクトップ接続では、キーボードレイアウトの認識がずれることがあります。特に日本語キーボード(JIS)と英語キーボード(US)のレイアウト差異によって、「バックスラッシュ(\)」や「@」などの位置が変わってしまう問題がよく見られます。

解決策:キーボードレイアウトを明示的に指定する

  1. 設定 > 地域と言語 > 入力ソース
  2. 「日本語(日本語)」や「日本語(OADG 109A)」などを選択
  3. 必要に応じて setxkbmap コマンドで設定を反映:
setxkbmap -model jp106 -layout jp

この設定を .xsession.bashrc に記述しておくと、リモートログイン時に自動適用できます。

バックスラッシュ(\)やパイプ(|)が入力できない

特にRDP接続時に多いこの問題は、xrdpがキーコードを正しく受け取れていないことが原因です。

回避策:キーボードマッピングの強制変更

  1. 以下のファイルを編集:
sudo nano /etc/xrdp/km-0411.ini
  1. このファイルは日本語キーボードに対応するマッピング定義です。必要に応じて英語配列との差分を手動で修正することもあります(上級者向け)。

より現実的な方法としては、xrdp以外のプロトコル(VNCなど)を使うことで、この問題を回避できます。

入力の切り替えが反応しないときの代替手段

半角/全角キーがうまく動作しない場合、以下のような代替キーを使って日本語入力のオン・オフを切り替えることが可能です。

Mozc(fcitx)の場合:

  • Ctrl + Space(デフォルト)
  • Shift + Space(変更可能)

fcitxの設定アプリからショートカットキーの変更も可能です。

日本語が入力できない時の最終手段:エディタ利用+コピペ

どうしても日本語が入力できない環境では、ローカル側(Windows)で日本語入力した文章をコピーし、Ubuntuのエディタに貼り付けるという方法も一時的な回避策として有効です。

まとめ:日本語環境は接続方式によって挙動が変わる

症状主な原因解決策
日本語が入力できないIME未起動、セッション不整合fcitx-mozcの再起動、入力ソースの追加
キー配列がズレるキーボードレイアウト未一致setxkbmap で明示設定
バックスラッシュが入力不可xrdpのキーマップ不具合kmファイルの修正、VNC利用に切り替え

Ubuntuのリモート環境では、ローカルとは異なるキーボード入力の問題が起こりやすいため、設定の確認や代替手段をあらかじめ知っておくことが大切です。

8. セキュリティを意識した接続方法【SSHトンネル】

リモート接続とセキュリティリスク

Ubuntuのリモートデスクトップ機能(RDPやVNC)は便利ですが、そのままインターネット越しに公開すると危険です。通信内容が暗号化されていなかったり、パスワード認証のみでアクセス可能な場合、第三者による不正アクセスや盗聴のリスクが生じます。

その対策として、SSHトンネルを利用した接続方法が広く推奨されています。SSHトンネルは、暗号化された安全な「通路(トンネル)」を作成し、そこを経由してVNCやRDPなどの通信を行うことで、外部からでも安全にUbuntuへアクセスすることができます。

[Windows] --(SSH暗号化)--> [Ubuntu]
   |
   +--> (内部でVNCやRDPのポート転送)

SSHトンネルとは?仕組みの概要

SSHトンネルとは、SSH(Secure Shell)接続の機能を利用して、他のアプリケーションの通信を安全に中継する仕組みです。これにより、VNCやRDPなど、本来暗号化されていない通信でも、SSHで保護された経路を通して送受信が可能になります。

事前準備:SSH接続の有効化

Ubuntu側にSSHがインストールされていない場合は、以下のコマンドで導入します:

sudo apt update
sudo apt install openssh-server -y

インストール後、自動的にsshdが起動しますが、念のため状態を確認しておきましょう:

sudo systemctl status ssh

ファイアウォール(UFW)を有効にしている場合は、SSHポート(22番)を許可します:

sudo ufw allow ssh

WindowsからSSHトンネルを作る方法(例:VNCポート5901を転送)

方法1:Windowsのターミナル(PowerShellなど)からsshコマンドで実行

ssh -L 5901:localhost:5901 your-user@ubuntu-ip
  • 5901:localhost:5901:ローカルPCの5901ポートをUbuntu側の5901ポートに転送
  • your-user@ubuntu-ip:Ubuntuのユーザー名とIPアドレス

このコマンドを実行したままの状態で、VNCクライアントから次のように接続します:

localhost:5901

→ 通信はSSHトンネル経由でUbuntuのVNCサーバーに届き、安全に接続されます。

方法2:Tera TermやPuTTYなどのSSHクライアントを使う(GUI)

  • Tera Termの「TCPポート転送」設定で、ローカルとリモートのポートを指定
  • GUIで管理したい方にはこちらが便利

RDPでもSSHトンネルは使える

同様に、RDP接続(ポート3389)をSSHで保護することも可能です。

ssh -L 3389:localhost:3389 your-user@ubuntu-ip

その後、Windowsのリモートデスクトップ接続で「localhost:3389」にアクセスします。

公開鍵認証でさらに安全に

SSH接続のセキュリティをさらに高めたい場合は、公開鍵認証方式を導入しておきましょう。

手順(Windows側で鍵を作成する場合):

  1. PowerShellで次のコマンドを実行:
ssh-keygen
  1. 生成された公開鍵をUbuntuにコピー:
ssh-copy-id your-user@ubuntu-ip

※または、手動で~/.ssh/authorized_keysに追記

  1. Ubuntuの/etc/ssh/sshd_configで以下を確認:
PubkeyAuthentication yes
PasswordAuthentication no

その後、sshdを再起動:

sudo systemctl restart ssh

SSHトンネルのメリット・デメリット

項目内容
✅メリット通信が暗号化され、安全性が非常に高い
✅メリットRDPやVNCをインターネットに直接公開せずに済む
❌デメリット初期設定がやや複雑で、毎回コマンド操作が必要
❌デメリットトンネルを切ると接続も切断される(再接続が必要)

まとめ:外部アクセスにはSSHトンネルが必須

Ubuntuをリモート操作する際、特に社外や外出先などからアクセスする場合は、SSHトンネルを通じた安全な接続が必須です。慣れてくると非常に強力な手段であり、VNCやRDPなど他のプロトコルと組み合わせることで、セキュアかつ快適なリモート環境を構築することができます。

9. 【FAQ】Ubuntuのリモートデスクトップでよくある質問

Q1. Ubuntuのリモート接続がうまくいかない原因は?

A. 原因はさまざまですが、以下のポイントを確認すると解決の糸口になります。

  • IPアドレスが間違っていないか
  • Ubuntuが同一LANに接続されているか
  • ファイアウォール(UFW)が通信をブロックしていないか
  • 接続先UbuntuがX.orgセッションでログインしているか(RDPの場合)
  • xrdpやVNCが正常に起動しているか

まずは端末で以下のように各サービスの状態をチェックしましょう:

sudo systemctl status xrdp
sudo systemctl status ssh

Q2. 接続中に画面がカクカクする・途切れるときの対処法は?

A. これは主にネットワーク帯域の不足描画方式の違いが原因です。以下のような対処法があります。

  • RDPでは「低帯域モード」に設定すると動作が軽くなる
  • VNCでは軽量なデスクトップ(例:Xfce)を使うと改善
  • リモート接続時は動画・3Dグラフィックなど重い処理を避ける
  • 無線ではなく有線LANを使用すると安定しやすい

Q3. UbuntuからWindowsにリモート接続することはできる?

A. はい、可能です。UbuntuにはRemminaという高機能なリモートデスクトップクライアントがあり、Windows標準のRDPサーバー(Pro版以上で有効)に接続できます。

UbuntuでのRemmina利用手順:

sudo apt install remmina -y
  1. Remminaを起動
  2. 「新しい接続」を作成
  3. プロトコルに「RDP」を選び、WindowsのIPとログイン情報を入力
  4. 接続を開始

Q4. 外出先や異なるネットワークからUbuntuに接続したい

A. 外部ネットワークからUbuntuに接続するには、次のいずれかの方法が必要です。

  • VPN(仮想プライベートネットワーク)を構築する
  • SSHトンネルを使用する(第8章で解説)
  • ルーターでポートフォワーディングを設定する(推奨されない)

ポートフォワーディングは設定が簡単ですが、セキュリティリスクが高いため、VPNかSSHトンネルを推奨します。

Q5. 毎回パスワードを入力せずに接続したい

A. SSH接続であれば公開鍵認証を使うことで、パスワード入力を省略できます(セキュリティ向上にも効果的)。
RDPやVNCでは、Ubuntu側で自動ログインを設定することで一部簡略化は可能ですが、セキュリティリスクが増すため慎重に扱いましょう。

Q6. 日本語入力ができない/キーがズレるのはなぜ?

A. これは主に入力メソッドの起動漏れキーボードレイアウトの誤認識によるものです。
詳細は第7章で詳しく解説していますが、基本的には以下の対処が効果的です。

  • fcitxibus の再起動・初期化
  • setxkbmap コマンドによる明示的なレイアウト設定
  • VNC利用時はGUI側の設定もチェック

Q7. リモート接続は無料で使えるの?

A. はい、Ubuntuやxrdp、Remmina、VNCなどはすべてオープンソースで無料です。一部、VNCビューア(例:RealVNC)の商用機能やVPNサービスには有料プランもありますが、個人利用レベルであれば完全無料で構築可能です。

Q8. 他の人と同時にUbuntuを操作できる?

A. 通常のRDP接続では1ユーザーにつき1セッションが基本です。
VNCを使えば、同じ画面を複数ユーザーで共有することが可能です。ただし、操作が競合するため、教育や指導目的での利用に適しています。

Q9. リモート操作中にUbuntuがスリープ状態になってしまう

A. Ubuntuがスリープやサスペンドに入ると、リモート接続は遮断されます。以下の対策を取りましょう。

  • 「設定」>「電源」>「サスペンド」設定を「しない」に変更
  • gsettings コマンドで細かく設定変更も可能:
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'nothing'

Q10. RDPとVNC、どちらを使うのが正解?

A. 一概にどちらが優れているとは言えませんが、以下を参考に選ぶとよいでしょう:

優先事項おすすめ
接続の快適さ・描画速度RDP
複数ユーザーでの共有操作VNC
Windowsユーザーとの互換性RDP
セキュリティ重視(SSH併用前提)どちらでもOK

10. まとめ:Ubuntuでも簡単・安全にリモート接続を使いこなそう

Ubuntuのリモートデスクトップは難しくない

「Linuxは難しい」「リモート接続なんて専門知識がないと無理」――そんなイメージを持っていた方も、本記事を通じて、Ubuntuでのリモートデスクトップ接続は実はかなり実用的で、初心者にも手が届く技術であることが伝わったのではないでしょうか。

Ubuntu 22.04以降では、標準でRDP機能が搭載され、GUI操作だけでも設定可能になりました。旧バージョンでもxrdpやVNCといったツールを使えば、Windowsからの接続も問題なく行えます。

自分に合った接続方式を選ぼう

Ubuntuのリモート接続にはさまざまな方式があります。それぞれにメリット・デメリットがあり、使用環境や目的に応じて使い分けることが重要です。

使用目的推奨接続方式コメント
家庭内で手軽に接続RDP(Ubuntu標準またはxrdp)Windowsからの利用が簡単で快適
外出先から安全に接続RDPまたはVNC+SSHトンネル暗号化された安全な経路を構築
複数人で同じ画面を共有VNC(vino / x11vnc)共同作業や教育現場にも便利
CLI中心の管理操作SSH(ターミナル接続)軽量かつ堅牢な遠隔管理手段

セキュリティ対策は「最初のひと手間」が大事

便利さと同時に、リモート接続にはセキュリティリスクも伴います。特にVNCやRDPをインターネット経由で公開する場合、必ずSSHトンネルやVPNを併用し、パスワード認証やファイアウォール設定も見直しましょう。

また、SSHの公開鍵認証を導入しておくことで、日々の接続を安全かつスムーズに行えるようになります。

トラブルはつきもの。でも解決策はある

本記事で紹介した通り、日本語入力やキーマッピング、接続できない・画面が真っ黒といった問題も起こり得ますが、それぞれに確立された解決方法があります。焦らず一つずつ原因を確認すれば、たいていの問題は自己解決できます。

困ったときはこのページに戻ってきていただければ、再確認できるような構成になっています。

最初の一歩を踏み出そう

Ubuntuのリモートデスクトップ環境は、一度構築すれば日常の作業効率を大幅に向上させてくれる強力なツールです。自宅のサーバーを遠隔で管理したり、開発用のUbuntu環境をノートPCから操作したりと、用途は無限に広がります

まだ試したことがない方は、まずは同一LAN内でRDP接続から始めてみましょう。驚くほど簡単に、Ubuntuの新しい可能性が開けるはずです。

以上で、Ubuntuのリモートデスクトップ接続に関する完全ガイドは終了です。
ご覧いただきありがとうございました!

年収訴求