Поиск по сайту:

Как настроить пересылку X11 с использованием SSH в Linux

Сегодня мы собираемся изучить менее известную, интересную и полезную особенность Linux. Я уверен, что большинство из вас знают о SSH. Мы можем безопасно получить доступ к удаленным системам Linux через SSH. Но знаете ли вы, что можно перенаправить X через SSH для удаленного запуска графических приложений? Да! Этот механизм известен как пересылка X11. В этом руководстве мы собираемся настроить пересылку X11 с использованием SSH в Linux.

Что такое переадресация X11?

Пересылка X11 — это метод, позволяющий пользователю запускать графические приложения, установленные в удаленной системе Linux, и пересылать окна (экран) этих приложений в локальную систему. Удаленная система не обязательно должна иметь X-сервер или графическую среду рабочего стола. Следовательно, настройка пересылки X11 с использованием SSH позволяет пользователям безопасно запускать графические приложения через сеанс SSH.

Если выразить это с точки зрения непрофессионала,

  • Подключаемся к удаленной системе по SSH,
  • А затем мы запускаем приложение с графическим интерфейсом (которое установлено в удаленной системе) из этого сеанса SSH.
  • Теперь приложение с графическим интерфейсом запускается в удаленной системе, но окно приложения появляется в нашей локальной системе. Таким образом, мы можем использовать эту удаленную программу с графическим интерфейсом в вашей локальной системе так же, как мы используем локально установленную программу.

Прозрачный? Теперь давайте продолжим и посмотрим, как запускать удаленные приложения с графическим интерфейсом через сеанс SSH.

Настройка пересылки X11 с использованием SSH в Linux

Для целей данного руководства я буду использовать следующие две системы:

  • Удаленный сервер — минимальный сервер CentOS 8 (без графического интерфейса).
  • Локальная система — Ubuntu 20.04 LTS с Gnome DE.

Настройка пересылки X11 тривиальна.

Убедитесь, что вы установили xauth в своей удаленной системе Serer. Если он не установлен, выполните следующую команду от имени пользователя root или sudo:

dnf install xorg-x11-xauth

Перейдите в свою удаленную систему (в моем случае это CentOS 8) и отредактируйте файл "/etc/ssh/ssh_config" с помощью вашего любимого редактора:

nano /etc/ssh/ssh_config

Добавьте/измените следующую строку:

[...]
X11Forwarding yes

Настройка пересылки X11 с использованием SSH в Linux

Нажмите Ctrl+O, чтобы сохранить файл, и Ctrl+X, чтобы закрыть файл. Перезапустите службу sshd, чтобы изменения вступили в силу:

systemctl restart sshd

Сделанный! Мы настроили переадресацию X11.

Теперь перейдите в свою клиентскую систему (в моем случае это Ubuntu 20.04) и получите доступ к удаленному серверу через SSH с помощью команды:

ssh -X root@192.168.225.52

Здесь опция -X используется для включения пересылки X11 через SSH. Замените «root@192.168.225.52» именем пользователя и IP-адресом вашего удаленного сервера.

В первый раз вы увидите следующее предупреждающее сообщение.

/usr/bin/xauth: file /root/.Xauthority does not exist

Однако файл .Xauthority должен быть автоматически создан во время первого входа в систему, поэтому последующие входы в систему должны быть в порядке.

Затем запустите любые приложения с графическим интерфейсом из этого сеанса SSH. У меня уже установлен графический текстовый редактор Gedit на моем сервере CentOS 8, поэтому я собираюсь запустить его с помощью команды:

gedit

Экран окна графического интерфейса gedit теперь появится в вашей локальной системе.

Запуск удаленных графических приложений через сеанс SSH в Linux

Вы можете взаимодействовать с приложением Gedit, установленным на удаленном сервере, используя дисплей, мышь и клавиатуру локальной системы.

Несмотря на то, что на моем сервере CentOS 8 нет рабочего стола с графическим интерфейсом, я могу открыть графический редактор Gedit и использовать его из своей локальной системы Ubuntu. Вот визуальная демонстрация:

Настройка пересылки X11 в Putty

Если вы используете клиент Putty для доступа к удаленным системам, введите IP-адрес или имя хоста вашей удаленной системы на вкладке Сеанс:

Подключитесь к удаленной системе с помощью Putty

Затем перейдите к Connection -> SSH -> X11 и включите опцию переадресации X11. Нажмите «Открыть», чтобы создать новый сеанс Putty:

Настройте переадресацию X11 в Putty

Введите имя пользователя и пароль удаленного сервера. Подключившись к удаленной системе через Putty, запустите любое приложение X, установленное на удаленном сервере.

Запуск графических приложений через сеанс Putty

Начните взаимодействовать с удаленным приложением с графическим интерфейсом из вашей локальной системы!

Статьи по данной тематике