Linux ssh x11 forward

Персональный блог Толика Панкова

Стихи, рассказы, философия, IT, политика, панкизм, раздолбайство и болтовня.

Не простивший супружеской измены авторитетный бендеровец объявил национал-предателем президента США

Настройка X11-forwarding через ssh, с помощью PuTTY и Xming

Вообще в Linux, а особенно на сервере под Linux вполне можно обходиться голой консолью, ибо все инструменты обычно в консольном варианте есть. Но иногда хочется запустить и графическое приложение, например программу разметки диска, а иногда без графики вообще не обойтись, если обрабатываешь видео или работаешь с виртуальными машинами. На наше счастье возможность удаленно работать с графическими программами есть. Называется это дело X11-Forwarding и существует оно аж в двух вариациях:
XDMCP, нечто вроде RDP в винде — когда мы подключаемся к оконному менеджеру Linux, вводим свой логин/пароль и работаем с удаленным рабочим столом.
— И просто возможность запуска отдельных приложений (GIMP, GParted и т.д.)

К первому я еще может, когда-нибудь вернусь, а пока будем настраивать второе.

Настройка X11-forwarding в ssh на стороне Linux

Будем считать, что ssh у нас уже настроен. Правим конфиг демона ssh /etc/ssh/sshd_config
Раскомментируем или дописываем следующие строки:
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes

Перезапускаем демон или рестартируем сервер.
Если надо, открываем порты на файерволе:
Для переопределения дисплея:
iptables -A INPUT -s x.x.x.x/xx -p tcp —dport 6000 -j ACCEPT
iptables -A OUTPUT -s x.x.x.x/xx -p tcp —sport 6000 -j ACCEPT

Вместо x.x.x.x/xx подставить нужную подсеть

Щелкаем по значку в лотке, открываем Конфигурация и в появившемся окне выбираем в дереве слева Соединение -> SSH -> X11
Выставляем все значения как на картинке и запоминаем число после localhost: (оно понадобится виндовому X-серверу).

Настройка виндового X-сервера

Их, наверное с десяток всякоразных наберется, но я особо не экспериментировал, все побежали и я побежал, взял самый популярный Xming
1. Качаем с официального сайта или напрямую с SourceForge
2. Устанавливаем
3. Настраиваем, запускаем Пуск -> Все программы -> Xming ->XLaunch

Выбираем Multiple windows и устанавливаем Display number таким же, как было настроено в PuTTY:

Нажимаем Далее и выбираем Start no client, тогда Xming «поселится» в трее и будет ждать, пока мы с консоли PuTTY запустим какое-нибудь графическое приложение.


В следующем окне я оставил все также, поскольку Font Server не настраивал.

Хотя глюк со шрифтами у меня был, но как оказалось, его исправление особого шаманства не требует.

Читайте также:  Intel smart response technology windows 10

Если нажать Готово в следующем окне, Xming сядет в лоток и будет ждать, пока мы запустим что-нибудь графическое из консоли. Например
gparted &

символ & — чтоб программа запустилась в фоновом режиме и не занимала консоль.

Чтобы каждый раз не лезть в XLaunch, можно в свойства ярлыка Xming дописать нужные параметры «C:\Program Files\Xming\Xming.exe» :0 -clipboard -multiwindow

Глюк с размером шрифтов и борьба с ним.

По умолчанию Xming почему-то выставляет ОЧЕНЬ маленький размер шрифта меню и диалоговых окон

Борьба проста. Дописываем в окне Additional Parameters XLaunch’а в строку Additional parameters for Xming параметр -dpi 96 или его же в свойства ярлыка. Число в параметре выбираем под свои глаза и монитор

Вот что получилось:

Источники не помню, но УМВР. И у друга тоже.

Источник

linux-notes.org

Настройка X11 forwarding используя ssh в Unix/Linux

X11 forwarding — это механизм, позволяющий отображать на локальном клиентском компьютере графические интерфейсы X11 программ, запущенных на удаленном Unix/Linux сервере. SSH имеет возможность безопасного туннелирования X11 соединений, так что сеансы X11 forwarding-а шифруются и инкапсулируются. Если вы хотите настроить X11 forwarding через SSH, то данная тема именно для вас.

Установка ПО для настройки X11 forwarding используя ssh в Unix/Linux

Для X11 forwarding-а на удаленном сервере не требуется полная система X11. Однако, серверу необходимо установить xauth. xauth — это утилита, которая поддерживает конфигурации Xauthority, используемые сервером и клиентом для аутентификации сеансов X11. Чтобы установить xauth, выполните следующие действия на удаленном сервере.

Установка xauth в Debian/Ubuntu

И так, выполняем команду:

Переходим к настройке.

Установка xauth в CentOS/RedHat

И так, выполняем команду:

Установка xauth в Fedora

И так, выполняем команду:

Установка xauth для других Unix/Linux ОС

Можно создать docker контейнер и запустить его.

Переходим к настройке.

Настройка X11 forwarding используя ssh в Unix/Linux

И прописываем (приводим к виду):

Так же, можно прописать:

Перезапуск SSH сервера:

  • Если используете Debian 6, Ubuntu или Linux Mint:
  • Если используете Debian 7, CentOS/RHEL 7, Fedora
  • Если используете CentOS/RHEL 6

Вышеупомянутая настройка, позволяет X11 форвардинг на хост сервера. Если вы хотели бы включить X11 forwarding для отдельного пользователя, вы можете использовать пользовательский файл конфигурации ssh (т. е. $HOME/.ssh/config). Таким образом, вы можете использовать переадресацию X11 только тогда, когда вы используете ssh для учетной записи пользователя. Открываем:

Мой файл выглядит следующим образом:

Если используете Vagrant, то внутри его, можно пробросить следующие опции:

Ну и далее запускаем все это дело.

Использование X11 forwarding через ssh в Unix/Linux

На локальном хосте должна быть установлена система с X11, чтобы отображать удаленные программы. Для того чтобы выполнить форвардинг, выполните:

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

Можно еще опции, передавать через коммандную строку:

Безопастность при использовании X11 forwarding через ssh

Обычно, не рекомендуется всегда работать с «ForwardX11 yes». Поэтому, если вы хотите использовать свои SSH-соединения с пвыщенной безопасностью, лучше всего сделать следующее:

  • Не прописывать «ForwardX11 yes» в ваш «$HOME/.ssh/confi»g файл.
  • Используйте «ForwardingX11» только когда вам это необходимо, используя «ssh -X your_user@your_server».
  • Если вы можете, полностью отключите «X11Forwarding» на вашем сервере.
Читайте также:  Linux подобная операционная система что это

Вот и все, статья «Настройка X11 forwarding используя ssh в Unix/Linux» завершена.

Источник

Configure SSH X11 Forwarding on Debian 10

If your server doesn’t have openssh-server package installed, you must install it from the official package repository of Debian 10.

First, update the APT package repository cache with the following command:

The APT package repository cache should be updated.

Now, install openssh-server package with the following command:

openssh-server package should be installed.

Now, open the OpenSSH server configuration file /etc/ssh/sshd_config with the following command:

Now, locate the lines X11Forwarding, X11DisplayOffset and X11UseLocalhost, uncomment them (by removing #) and set X11Forwading to yes, X11DisplayOffset to 10 and X11UseLocalhost to no.

The final configuration file is shown in the screenshot below. Once you’re done, save the configuration file by pressing + X followed by Y and .

Now, restart the sshd service with the following command:

Now, check whether the sshd service is running with the following command:

As you can see, sshd service is running. It’s also enabled. So, it will start automatically on boot.

If the sshd service is not running in any case, then start it with the following command:

If the sshd service is not enabled, then, enable it with the following command.

Configuring the Client:

To connect to the remote server for X11 forwarding via SSH, you need to know the login username and the IP address of the remote server.

You can find the login username of the remote server with the following command:

You can find the IP address of the remote server with the following command:

In my case, the IP address is 192.168.21.131 and the username is shovon. It will be different in your case. Make sure to replace these with yours from now on.

On your client computer, you must have openssh client tools installed.

On Ubuntu/Debian machines, you can install openssh client tools with the following command:

Now, login to the remote server for X11 forwarding with the following command:

If you’re SSHing into the remote server for the first time, then you will see the following prompt. Just type in yes and press to continue.

Now, type in the password of the login user of the remote server and press .

You should be connected to the remote server.

Now, to run a graphical application over SSH, run the command that starts the program.

For example, to start wireshark, run the following command:

Wireshark should start on your client computer as you can see in the screenshot below. Wireshark is actually running on the remote server. But, you can use it from the client computer without having it installed on the client computer. Nice isn’t it!

Читайте также:  Полная перезагрузка компьютера windows

If you run a graphical application like I’ve shown above, you won’t be able to use SSH to run any more command on the remote server.

To run a graphical application remotely and still able to run other commands, start the program as follows:

This way, the graphical application process will run as a background process and the shell will be usable.

Problems Running GNOME Apps Remotely:

If you’re logged into the remote server already and try to run a GNOME official software such as Gedit, GNOME Disks remotely over SSH. The program will run on the remote server, not on the client as you can see in the screenshot below.

Command executed on the client

Gedit started on the remote server, not on the client.

To solve this issue, you must log out on the remote server.

Then, you should be able to run official GNOME apps remotely over SSH. As you can see, I am running Gedit remotely. It’s working just fine.

I can also use GNOME System Monitor.

GNOME Disks works as well.

So, that’s how you configure SSH X11 Forwarding on Debian 10 and access graphical applications remotely. Thanks for reading this article.

Источник

X11 SSH Forwarding

Настройка сервера

Настройка клиента

Запуск

Заходим на удаленный хост и потом запускаем приложение kopete

Сразу запустить приложение kopete

X11 connection rejected because of wrong authentication

Убедитесь что права на удаленном хосте принадлежат пользователю

Настройка клиента Windows

Установка Xming

Xming — порт сервера X Window System для операционной системы Microsoft Windows.
Скачать Xming с SourceForge и установить.

Настройка PuTTy

Указать адрес дисплея

Просто запускаем программу в терминале

Обсуждение

спасибо, всё работает на ура! только очень тормознуто (или это только у меня так?).

Да есть такое, что тормозит жутко, даже если через локалку

Алексей, радует, что причина тормозов в данном случае — не мои кривые ручки. а что посоветуете вместо данного решения? пробую сейчас xrdp (в линуксах не шибко разбираюсь), и через rdp из winxp у меня только консольное окно появилось, рабочего стола как такового нет. думаю вот, что делать дальше. 🙂

Кроме VNC ничего другого не использовал, так что советовать мне особо нечем

у меня уже всё получилось. доставил xrdp в систему, из winxp запустил терминальную сессию на ip-адрес компа с linux, увидел окошко терминала, набрал google-chrome (ради чего всё и затевал) и получил нужное. что радует, после закрытия терминального окна и повторного входа вижу всё ту же картинку, что и до закрытия. сам не ожидал, что всё так просто получится. Алексей, спасибо за статью и успехов в делах! 🙂

тоже настроил, всё работает кроме PHPStorm. запускаю, он запускается, но картинку на клиента не передаёт, а локально отображается почему-то. А все остальные программы работают как надо, удалённо.

Источник

Оцените статью