GNU/Linux >> Linux の 問題 >  >> Linux

LinuxでSSHを使用してX11転送を構成する方法

今日は、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アプリケーションとの対話を開始します!


Linux
  1. LinuxでSSHキーベースの認証を構成する方法

  2. 追加のサーバーを介して SSH X11 転送を有効にする方法は?

  3. Linuxボックスを使用してssh経由でWindowsリモートデスクトップをトンネリングする方法は?

  1. リモートアクセスを簡素化するためにカスタムSSH接続を構成する方法

  2. cPanelを使用してSSHキーを設定する方法

  3. LinuxでIP転送を有効にする方法

  1. XRDPを使用してWindowsからLinuxデスクトップにデスクトップをリモート接続する方法

  2. リモートX接続(xdmcp対Ssh)でフォントを構成する方法は?

  3. Linux – Sshを介したX11転送?