Ssh ������ linux gui

Ssh gui

Материал из Пингвиньи радостей

Ssh gui — статья с описание запуска программ с графическим интерфейсом через ssh-тунель в linux

ssh/openssh протокол позволяет осуществлять любых программ в том числе с графическим интерфейсом.
Это становиться особенно актуальным при запуске программ от имени root.
Через ssh-туннель можно запустить GUI-программы с рабочей станции даже если на ней не установлен X-сервер.

Содержание

Настройка туннелирования X-протокола

Предполагаем что на рабочей станции с которой осуществляется вход на удалённую машину через ssh-протокола установлен и запущен X-сервер.
Для запуска программ с графическом интерфейсом с рабочей станции подключённой через ssh-туннель

  • в файл конфигурации ssh-сервера /etc/sshd_config добавляем строки
  • и перезапускаем сервер ssh

Теперь любой вход на целевую рабочую станцию по протоколу ssh позволяет запускать программы с графическим интерфейсом.
Изменять настройки ssh-сервера необязательно. При создании ssh-туннеля командой

передача X-протокола через ssh-туннель становиться также возможной и программы с графическим интерфейсом также могут быть запущены.

Пример запуска noatun на удалённой машине

Предположим, что пользователь осуществил вход с рабочей станции на сервер терминалов debian по XDCMP протоколу.
Для того чтобы обеспечить воспроизведение музыки на «удаленной» (для сервера терминалов, но локальной для пользователя) рабочей станции:

  • устанавливаем проигрыватель музыки (например noatun) и запуск его
  • формируем список воспроизведения и устанавливаем режим «начинать воспроизведение при старте»
  • настраиваем автоподключение по ssh протоколу
  • проверяем автовход на рабочую станцию с звуковой картой и запуск проигрывателя, например с использованием команды kdessh
  • создаем (например на рабочем столе пользователя терминалов) иконку быстрого запуска

Теперь запуск проигрывателя доступен за один клик.

Источник

❄️ Snowflake – это Linux SSH GUI, который вам нужен

Каждый день я полагаюсь на ssh.

90% времени я использую этот инструмент с платформы Linux, где я открываю окно терминала и SSH в нечто вроде бесконечного массива удаленных серверов.

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

Какой IP-адрес отправит на какой сервер?

Вот почему я привык использовать инструмент Snowflake GUI.

Snowflake включает в себя менеджер соединений, файловый браузер, эмулятор те рминала, диспетчер ресурсов/процессора, анализатор дискового пространства, текстовый редактор, просмотр журнала, поддержку аутентификации по ключу SSH и многое другое.

  • Скачайте установочный файл .deb в каталог загрузок, откройте окно терминала и введите команд:
  • После завершения установки запустите приложение из меню рабочего стола.
  • Открыв Snowflake, нажмите кнопку «New Connection», а затем нажмите «New site».
  • В появившемся окне введите информацию о вашем удаленном сервере и нажмите «Connect».
  • Диспетчер файлов откроется автоматически, и вы сможете копировать файлы на сервер и с него.
  • Чтобы добраться до терминала, нажмите «Terminal» и начните работать, как в обычном сеансе SSH из Linux CLI.

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

Читайте также:  Как переустановить onedrive windows 10 без потери данных

Любой, кто зависит от SSH в течение дня и ищет надежный инструмент с графическим интерфейсом не ошибется со Snowflake.

Попробуйте и посмотрите, даже если вы предпочитаете использовать традиционное окно терминала.

Источник

Методы удаленного доступа к Linux GUI

В службу технической поддержки RUVDS регулярно обращаются по поводу GUI и удаленного доступа к нему на виртуальных серверах с Linux, несмотря на то что в интернете достаточно много материалов освещающих эту проблему. Поэтому, для наших пользователей мы решили собрать всё по этой теме в одну статью.

Введение

На всякий случай возможно стоит упомянуть, что SSH — основной способ предоставления доступа к линуксовым виртуалкам на RUVDS. Большая часть действий описываемых в этой статье будет осуществляться именно таким образом.

Для подключения необходимо найти SSH-клиент для вашей операционной системы.

  1. OpenSSH; если Вы пользуетесь Linux, например Ubuntu, скорее всего всё уже установлено, до нас, так что можно смело писать в терминале: ssh root@[IP].
  2. PuTTY есть и для Linux, в том числе в официальных репозиториях Debian и Ubuntu.

MAC OS:

Установка GUI

Итак, перейдем к установке GUI. Сначала нужно поставить графическую подсистему:
Для Debian/Ubuntu:

Далее следует установка Desktop Environment (DE). Их существует великое множество. Мы рекомендуем ставить на сервер более легковесные среды, а еще лучше, не ставить вовсе. Первые две DE достаточно компактные, функциональные и «привычные».

1. Xfce
Для Debian/Ubuntu:

Можно поставить дополнительно:

Добавление русской раскладки:

Сочетание клавиш можно менять на свое усмотрение, например:

Чтобы эта команда запускалась каждый раз при запуске LXDE, нужно добавить в конец файла с помощью вашего любимого vi строку: @setxkbmap -option grp:switch,grp:ctrl_shift_toggle,grp_led:scroll us,ru. Или вот так…

Следующие две DE являются чрезвычайно легкими. Если уж GUI нужен на сервере, вероятно, стоит использовать именно их.

3. FluxBox
Для Debian/Ubuntu:

4. Openbox
Для Debian/Ubuntu:

Далее следуют наиболее популярные на десктопах графические оболочки.

5. Gnome
Для Ubuntu/Debian:

Замечание: с настройкой VNC-сервера под Gnome что-то пошло не так… Сервера из репозиториев tightvncserver и vnc4server так и не согласились сотрудничать, поэтому пришлось собрать пару deb-пакетов руками. Если у Вас не получится настроить сервер, то мы можем порекомендовать скачать собранный нами архив с tigervnc-server’ом и поставить его. Для этого:

7. Cinnamon
Для Debian/Ubuntu:

Если Вы хотите получать доступ к GUI через «Аварийный режим», то необходимо сделать следующее:

Мало того, необходимо обеспечить запуск графической оболочки при старте системы. Для этого можно установить какой-нибудь экранный менеджер (Display Manager, DM), например:

Или в случае с CentOS:

Если необходимости в доступе из личного кабинета нет, то следует выполнить:

Заметка: Ubuntu предлагает своим пользователям несколько метапакетов для более удобной установки нужной DE:

Далее, есть много способов получить удаленный доступ к GUI.

Удаленный доступ

На виртуальном сервере, в зависимости от OS нужно произвести следующие действия.

Далее, если вы используете Windows, подключаемся через встроенный RDP-клиент, Remote Desktop Connection (Подключение к удаленному рабочему столу).

Читайте также:  Windows 10 enable remote desktop connection

Стандартный порт 3389. Для Linux есть масса клиентов которые можно установить из репозиториев: freerdp и remmina, gnome-rdp, vinagre и т.п.

Также можно пробросить RDP-шный трафик через SSH-туннель. Для этого нужно поправить конфигурационный файл xrdp:

В секцию [globals] нужно добавить строку: address=127.0.0.1

Проверить, что всё правильно, можно так:

Затем если вы используете cygwin или mingw, linux или mac os:

Запустите PuTTY. В древовидном меню слева Connection → SSH → Tunnels. Далее добавляем новый Forwarded Port (Source port: 3389, Destination: localhost:3389). Нажимаем Add.

Далее следуете в секцию Session. Вводите IP вашего сервера в поле Host Name (or IP address). Нажимаете кнопку Open, вводите пароль для подключения по SSH.

Далее для Windows:

  1. Можно использовать вышеупомянутый клиент: remmina
  2. Если в браузере хотите: novnc — HTML5 VNC client
  3. И ещё куча всяких разных: directvnc, gnome-rdp, krdc, xtightvncviewer, vinagre, xvnc4viewer

Для MAC OS:

OS X предоставляет для этого встроенное приложение Screen Sharing. Можно также использовать Safari

Сервер: На Вашей виртуальной машине установите VNC сервер:

Если на Вашей системе работает файрвол необходимо открыть соответствующие порты. Пример для CentOS

При возникновении проблем с отображением иконок и шрифтов при использовании xfce4 по Ubuntu/Debian:

Если вы хотите, чтобы VNC-сервер стартовал автоматически, создайте файл:

Со следующим содержимым:

Теперь можно подключиться, например, через UltraVNC. Для этого нужно запустить UltraVNC Viewer, в поле VNC Server записать [IP]::5901 (по-умолчанию: 5901, 5902 и т.п. для первого дисплея, второго и т.д. соответственно) и нажать на кнопку подключиться.

Также можно пустить vnc-шный трафик через ssh-туннель. Для этого отредактируйте:

Затем если вы используете cygwin или mingw, linux или mac os:

Если PuTTY:
Запустите PuTTY. В древовидном меню слева Connection → SSH → Tunnels. Далее добавляем новый Forwarded Port (Source port: 5901, Destination: localhost:5901). Нажимаем Add.

Далее следуете в секцию Session. Вводите IP вашего сервера в поле Host Name (or IP address). Нажимаете кнопку Open, вводите пароль для подключения по SSH.

Затем открываете UltraVNC Viewer и в поле VNC Server вводите: localhost::5901 после чего подключаетесь.

Также можете попробовать другие VNC-сервера:

x11vnc — фактически VNC-сервер (как vnc4server или tightvnc), но позволяет получать доступ к уже существующей X-сессии. Т.е. если Вы настроили графическую оболочку таким образом, что она запускается при старте системы, то можно использовать следующий вариант:

После подключения по VNC (на порт 5900) Вы должны увидеть тоже что и в «Аварийном режиме».

Для старта x11vnc при запуске OS необходимо проделать следующее:

Теперь немного поинтереснее. Одна замечательная компания NoMachine разработала отличный протокол NX на замену VNC. Клиенты для подключения по этому протоколу бесплатны, а официальное серверное ПО от NoMachine стоит много денег. В свое время, эта же компания поддерживала проект FreeNX работы на котором со временем затихли; текущая версия 0.7.2 от 2008-08-22. Но, к счастью, нашлись люди создавшие форк и назвавшие его x2go. К сожалению, x2go не совместим ни с NX от NoMachine, ни с freeNX. Так что клиент берем тут.

Установка сервера на Debian (источник):

Читайте также:  Linux проверка утечки памяти

Для примера поставим эту DE:

Далее следуем инструкциям с оффициального сайта:

Вывод следующей команды должен показать, что x2go готов к работе:

А теперь важный момент, подключиться без этого фикса не получится! Нужно найти в файле .profile строку «mesg n» и заменить её на «tty -s && mesg n».

Следующая команда выведет путь до исполняемого файла startfluxbox, понадобится при настройке клиента:

Установка сервера на Ubuntu:

А теперь важный момент, подключиться без этого фикса не получится! Нужно найти в файле .profile строку «mesg n || true» и заменить её на «tty -s && mesg n».

Установка сервера на CentOS:

Клиент для линукс ставится из вышеприведенных репозиториев следующей командой:

Для Windows — скачиваем, ставим, запускаем. По той же ссылке, приведенной выше, есть клиент для OS X.

В настройках сессии указываем: в поле Host — IP вашего сервера, в поле Login — root, порт оставляем как есть, session type — тот GUI который ставили.

Как вы можете видеть, есть возможность аутентификации по ключу. В общем много всякого. Посмотрите сами. И звук можно через PulseAudio выводить.

После нажатия Ok вы увидите вот такие вот очаровательные штучки, на которые нужно нажать для получения запроса на ввод пароля и подключения к выбранной сессии:

Замечание: обратите внимание, что в списке нет Вашего любимого FluxBox’а поэтому путь к нему приходится прописывать руками.

Важной возможностью x2go является возможность запуска любого графического приложения вообще без установки DE. Для этого в настройках сессии нужно в секции session type нужно выбрать пункт single application и выбрать выполняемое приложение или ввести путь к программе которую следует запустить.

В этом случае установка ПО на сервер будет выглядеть следующим образом. В случае с Ubuntu:

А теперь важный момент, подключиться без этого фикса не получится! Нужно найти в файле .profile строку «mesg n || true» и заменить её на «tty -s && mesg n».

И настроив сессию как показано ниже, можно будет запустить браузер на удаленном сервере, а на вашей машине откроется окно его отображающее:

Или так; тогда просто откроется окно терминала:

Ниже вы можете видеть скриншот окна статуса текущей сессии. Оранжевыми цифрами отмечены кнопки:

  1. «Suspend session» — после нажатия на эту кнопку соединение будет разорвано, но сессия останется и будет ожидать повторного подключения. Все запущенные вами на сервере приложения продолжат свою работу;
  2. «Terminate session» — после нажатия подключение к серверу будет разорвано, а запущенные вами на сервере приложения будут завершены.

TeamViewer

Последний способ удаленного доступа к рабочему столу.

Установка на Ubuntu:

Установка на Debian:

Установка на CentOS:

Также необходимо принять лицензионное соглашение TeamViewer’а, это можно сделать с помощью «Аварийного режима», либо добавить следующие строки в конец файла /opt/teamviewer/config/global.conf:

Следующая команда покажет состояние демона TeamViewer’а и необходимый для подключения девятизначный TeamViewer ID:

После запуска клиента скачанного тут, нужно ввести TeamViewer ID в поле Partner UD и нажать на кнопку «Connect to partner». Далее TeamViewer запросит пароль: [PASSWD].

Источник

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