Xrdpは、Microsoftリモートデスクトッププロトコル(RDP)のオープンソース実装であり、リモートシステムをグラフィカルに制御できます。 RDPを使用すると、リモートマシンにログインして、ローカルマシンにログインした場合と同じように実際のデスクトップセッションを作成できます。
このチュートリアルでは、Debian10LinuxにXrdpサーバーをインストールして構成する方法について説明します。
リモートデスクトップアクセス用のオープンソースソリューションを探している場合は、VNCを確認する必要があります。
デスクトップ環境のインストール#
通常、Linuxサーバーにはデフォルトでデスクトップ環境がインストールされていません。最初のステップは、X11と、Xrdpのバックエンドとして機能するデスクトップ環境をインストールすることです。
Debianリポジトリで利用できるデスクトップ環境(DE)はいくつかあります。 Xfceをインストールします。高速で安定した軽量のデスクトップ環境であるため、リモートサーバーでの使用に最適です。 Gnomeのような別のデスクトップ環境が必要な場合は、Xfceの代わりにインストールできます。
サーバーにXfceをインストールするには、rootまたはsudo権限を持つユーザーとして次のコマンドを入力します。
sudo apt update
sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils
システムと接続によっては、Xfceパッケージのダウンロードとインストールに時間がかかる場合があります。
Xrdpのインストール#
Xrdpパッケージは、標準のDebianリポジトリで利用できます。インストールするには、次のコマンドを実行します:
sudo apt install xrdp
インストールプロセスが完了すると、サービスが自動的に開始されます。 Xrdpサービスが実行されていることを確認するには、次のように入力します。
sudo systemctl status xrdp
出力は次のようになります:
● xrdp.service - xrdp daemon
Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2020-04-01 21:19:11 UTC; 4s ago
...
デフォルトでは、Xrdpは/etc/ssl/private/ssl-cert-snakeoil.key
を使用します 「ssl-cert」グループのメンバーであるユーザーのみが読み取り可能なファイル。次のコマンドを実行して、xrdp
を追加します グループのユーザー:
sudo adduser xrdp ssl-cert
それでおしまい。 XrdpがDebianシステムにインストールされました。
Xrdpの構成#
Xrdp構成ファイルは/etc/xrdp
に保存されます ディレクトリ。基本的なXrdp接続の場合、構成ファイルに変更を加える必要はありません。 Xrdpは、デフォルトのX Windowデスクトップ(この場合はXFCE)を使用します。
メインの構成ファイルの名前はxrdp.ini
です。 。このファイルはセクションに分割されており、セキュリティアドレスやリスニングアドレスなどのグローバル構成設定を設定したり、さまざまなxrdpログインセッションを作成したりできます。
構成ファイルに変更を加えるときはいつでも、Xrdpサービスを再起動する必要があります:
sudo systemctl restart xrdp
Xrdpはstartwm.sh
を使用します Xセッションを起動するファイル。別のXWindowデスクトップを使用するには、このファイルを編集します。
デフォルトでは、Xrdpはポート3389
でリッスンします すべてのインターフェイスで。 Debianサーバーでファイアウォールを実行している場合は、これを常に実行する必要があります。Xrdpポートでトラフィックを有効にするルールを追加する必要があります。
ufwを使用してファイアウォールを管理していると仮定して、次のコマンドを実行して、特定のIPアドレスまたはIP範囲(この例では192.168.1.0/24
)からXrdpサーバーへのアクセスを許可します。 :
sudo ufw allow from 192.168.1.0/24 to any port 3389
どこからでもアクセスできるようにする場合(セキュリティ上の理由からお勧めできません)、次のコマンドを実行します。
sudo ufw allow 3389
nftablesを使用してシステムへの接続をフィルタリングしている場合は、次のコマンドを発行して必要なポートを開きます。
sudo nft add rule inet filter input tcp dport 3389 ct state new,established counter accept
セキュリティを強化するために、ローカルホストでのみリッスンするようにXrdpを設定し、ポート3389
でローカルマシンからのトラフィックを安全に転送するSSHトンネルを作成することを検討してください。 同じポート上のサーバーに。もう1つの安全なオプションは、OpenVPNをインストールし、プライベートネットワークを介してXrdpサーバーに接続することです。
Xrdpサーバーへの接続#
Xrdpサーバーをセットアップしたので、Xrdpクライアントを開いてサーバーに接続します。
Windows PCを使用している場合は、デフォルトのRDPクライアントを使用できます。 Windowsの検索バーに「リモート」と入力し、「リモートデスクトップ接続」をクリックします。これにより、RDPクライアントが開きます。 「コンピュータ」フィールドにリモートサーバーのIPアドレスを入力し、「接続」をクリックします。
ログイン画面で、ユーザー名とパスワードを入力し、[OK]をクリックします。
ログインすると、デフォルトのXfceデスクトップが表示されます。次のようになります:
これで、キーボードとマウスを使用して、ローカルマシンからリモートXFCEデスクトップとの対話を開始できます。
macOSを使用している場合は、MacAppStoreからMicrosoftリモートデスクトップアプリケーションをインストールできます。 Linuxユーザーは、RemminaやVinagreなどのRDPクライアントを使用できます。