今日は、Linuxについてあまり知られていない、興味深く、便利な機能を学びます。ほとんどの人がSSHについて知っていると思います。 SSH経由でリモートLinuxシステムに安全にアクセスできます。しかし、SSH経由でXを転送して、グラフィカルアプリケーションをリモートで実行できることをご存知ですか?はい!このメカニズムは、X11転送として知られています。 。このガイドでは、LinuxでSSHを使用してX11転送を構成します。
X11転送とは何ですか?
X11転送は、ユーザーがリモートLinuxシステムにインストールされているグラフィカルアプリケーションを起動し、そのアプリケーションウィンドウ(画面)をローカルシステムに転送できるようにする方法です。リモートシステムには、Xサーバーまたはグラフィカルデスクトップ環境は必要ありません。したがって、SSHを使用してX11転送を構成すると、ユーザーはSSHセッションを介してグラフィカルアプリケーションを安全に実行できます。
これを素人の言葉で言えば、
- SSH経由でリモートシステムに接続します
- 次に、そのSSHセッションからGUIアプリケーション(リモートシステムにインストールされている)を起動します。
- これで、GUIアプリケーションはリモートシステムで実行されますが、アプリケーションウィンドウはローカルシステムに表示されます。したがって、ローカルにインストールされたプログラムを使用する方法として、このリモートGUIプログラムをローカルシステムで使用できます。
クリア?それでは、SSHセッションを介してリモートGUIアプリケーションを実行する方法を見てみましょう。
LinuxでSSHを使用してX11転送を構成する
このガイドでは、次の2つのシステムを使用します。
- リモートサーバー-CentOS8最小サーバー(GUIなし)。
- ローカルシステム-GnomeDEを使用したUbuntu20.04LTS。
X11転送の構成は簡単です。
"xauth"がインストールされていることを確認してください リモートサーバーシステムで。インストールされていない場合は、rootまたはsudoユーザーとして次のコマンドを実行します。
# dnf install xorg-x11-xauth
リモートシステム(私の場合はCentOS 8)に移動し、 "/ etc / ssh / ssh_config"を編集します。 お気に入りのエディタを使用したファイル:
# nano /etc/ssh/ssh_config
次の行を追加/変更します:
[...] X11Forwarding yes
LinuxでSSHを使用してX11転送を構成する
Ctrl + Oを押します 保存してCtrl+ X ファイルを閉じます。 sshdサービスを再起動して、変更を有効にします。
# systemctl restart sshd
終わり! X11転送を構成しました。
次に、クライアントシステム(私の場合はUbuntu 20.04)に移動し、次のコマンドを使用してSSH経由でリモートサーバーにアクセスします。
$ ssh -X [email protected]
ここでは、 -X オプションは、SSHを介したX11転送を有効にするために使用されます。 「[emailprotected]」をリモートサーバーのユーザー名とIPアドレスに置き換えます。
初めて次の警告メッセージが表示されます。
/usr/bin/xauth: file /root/.Xauthority does not exist
ただし、.Xauthority
ファイルは最初のログイン時に自動的に生成されるため、その後のログインは問題ありません。
次に、このSSHセッションからGUIアプリケーションを起動します。 CentOS 8サーバーにGeditグラフィカルテキストエディターを既にインストールしているので、次のコマンドを使用して起動します:
# gedit
geditGUIウィンドウ画面がローカルシステムに表示されます。
LinuxでSSHセッションを介してリモートグラフィカルアプリケーションを実行する
ローカルシステムのディスプレイ、マウス、キーボードを使用して、リモートサーバーにインストールされているGeditアプリケーションを操作できます。
CentOS 8サーバーにGUIデスクトップがない場合でも、Geditグラフィカルエディターを開いて、ローカルのUbuntuシステムから使用できます。ビジュアルデモは次のとおりです:
PuttyでX11転送を構成する
パテを使用する場合 クライアントがリモートシステムにアクセスするには、[セッション]タブにリモートシステムのIPまたはホスト名を入力します。
Puttyを使用してリモートシステムに接続する
次に、接続-> SSH-> X11に移動します X11転送オプションを有効にします。 [開く]をクリックして、新しいパテセッションを確立します:
PuttyでX11転送を構成する
リモートサーバーのユーザー名とパスワードを入力します。 Puttyを介してリモートシステムに接続したら、リモートサーバーにインストールされているXアプリケーションを起動します。
Puttyセッションでグラフィカルアプリケーションを実行する
ローカルシステムからリモートGUIアプリケーションとの対話を開始します!