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

Как использовать X-пересылку SSH для запуска удаленных приложений

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

Каким бы ни был сценарий, Linux и другие операционные системы, на которых работает X-сервер, имеют возможность пересылать графические приложения через SSH. Выполнив несколько простых шагов, вы сможете запустить удаленное приложение во всей его графической красе.

Примечание. Если вы устанавливаете несколько SSH-подключений к удаленному компьютеру, вы можете настроить его на отображение всех активных SSH-соединений.

Содержание

  • Установка и настройка
  • Подключение к удаленному серверу
  • Автоматизация и безопасность SSH X-Forwarding
  • Часто задаваемые вопросы

Установка и настройка

Прежде чем начать, вам необходимо убедиться, что клиент и сервер SSH установлены на правильных компьютерах. На главном компьютере, на котором запущены приложения, должен быть запущен SSH-сервер.

Чтобы установить SSH, вам необходимо запустить следующую команду как на клиентском, так и на серверном компьютере:

sudo apt install ssh

Другой важный предварительный шаг — убедиться, что оба компьютера подключены к сети и что вы можете подключиться к ним через SSH. Если компьютеры находятся в одном здании, это будет легко. В противном случае вам, возможно, придется настроить главный компьютер для получения SSH-соединений через брандмауэр. Чтобы узнать правильный метод переадресации портов, обратитесь к документации вашего маршрутизатора.

Подключение к удаленному серверу

  1. Откройте эмулятор терминала: Gnome Terminal, Konsole или что-то подобное.
  2. Подключитесь к главному компьютеру. Например, если IP-адрес хоста — 192.168.68.155, а имя пользователя хоста — «ramces», введите следующее:
ssh -X ramces@192.168.68.155

Это указывает SSH начать вызовы сервера X-пересылки на клиентский компьютер.

  1. В ответ на запрос пароля введите пароль.
  2. Запустите приложение. Например, если вы хотите запустить Gedit, просто введите команду:
gedit &

Примечание, если вы используете KDE, вам нужно будет добавить «dbus-launch» перед приложениями KDE. Например: dbus-launch kwrite &. Другие приложения, не требующие D-Bus, должны работать и без него.

Автоматизация и безопасность SSH X-Forwarding

Теперь вы сможете запускать удаленные приложения X по своему желанию. Это может быть очень полезно, если, например, у вас есть компьютер с очень маленьким жестким диском, без жесткого диска или даже без привода для компакт-дисков, что характерно для многих нетбуков и недорогих мини-настольных компьютеров.

Чтобы автоматизировать этот процесс, вы можете настроить открытые ключи SSH для подключения без паролей и написать исполняемый скрипт. Кроме того, если вам нужна переадресация полного сеанса X, вы можете использовать технологию VNC через TigerVNC и x11vnc.

Как и в случае с любым сетевым решением, вам также необходимо убедиться, что ваш удаленный сервер безопасен. Использование SSH обеспечивает безопасное соединение, но оно бесполезно, если ваш пароль легко угадать, а ваш брандмауэр позволяет любому получить к нему доступ.

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

Часто задаваемые вопросы

Можете ли вы использовать SSH X-Forwarding в системах Wayland?

Да! Вы можете легко использовать SSH X-Forwarding в Wayland, установив xwayland. Это уровень совместимости, который служит для связи приложений, предназначенных только для Xorg, с чисто средой Wayland. Чтобы установить это, запустите sudo apt install xwayland.

Кроме того, вы также можете принудительно включить X-пересылку SSH в системах Wayland, заменив флаг «-X» на «-Y». Однако этот альтернативный вариант невероятно небезопасен. Когда вы используете этот конкретный флаг, вам необходимо убедиться, что вы находитесь в закрытой частной сети.

Почему некоторые данные, введенные мной в удаленном приложении, теряются?

Эта проблема, скорее всего, связана с задержкой между вашим локальным и удаленным компьютером. SSH X-Forwarding должен быть надежным решением, если задержка между вашим локальным и удаленным компьютером составляет менее 5000 мс, поскольку клиент SSH разрывает любое чрезвычайно медленное соединение, чтобы защитить его от атаки Slow Loris.

Могу ли я получить доступ к локальным файлам через удаленное приложение с помощью SSH X-пересылки?

Нет. По умолчанию X-пересылка по SSH «пересылает» только программу с графическим интерфейсом с вашего удаленного компьютера на дисплей вашего локального компьютера, так что программа с графическим интерфейсом при X-пересылке ведет себя скорее как проекция, чем как бумажная копия программы. Из-за этого эта удаленная программа с графическим интерфейсом сможет получить доступ только к тем файлам, которые также доступны на вашем удаленном компьютере.

Изображение предоставлено: Unsplash. Все изменения и скриншоты Рамсеса Реда.

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