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

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



    Введение


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

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

    Windows:

    1. PuTTY: Telnet/SSH-Клиент
    2. OpenSSH для Cygwin
    3. OpenSSH для MinGW
    4. WinSCP

    Linux:

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

    MAC OS:

    1. OpenSSH; это бесплатно!
    2. ZOC (80$!)
    3. vSSH

    Плагины для браузеров:

    1. FireSSH для Firefox
    2. Secure Shell для Google Chrome

    Установка GUI


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

    $ apt-get update
    $ apt-get install --no-install-recommends xserver-xorg xserver-xorg-core xfonts-base xinit libgl1-mesa-dri x11-xserver-utils

    Для CentOS:

    $ yum groupinstall "X Window System" "Fonts"

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

    1. Xfce
    Для Debian/Ubuntu:

    $ apt-get update

    Полная установка:

    $ apt-get install task-xfce-desktop

    Стандартная:

    $ apt-get install xfce4 xfce4-terminal

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

    $ apt-get install xfce4-goodies

    Для CentOS:

    $ yum install epel-release
    $ yum groupinstall "Xfce"
    $ echo "PREFERRED=startxfce4" >> /etc/sysconfig/desktop

    2. LXDE
    Для Debian/Ubuntu:

    $ apt-get update

    Полная:

    $ apt-get install lxde

    Минимальная:

    $ apt-get install lxde-core

    Для CentOS:

    Нет в официальных репозиториях

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

    $ setxkbmap -option grp:switch,grp:ctrl_shirt_toggle us,ru


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

    $ setxkbmap -option grp:switch,grp:alt_shift_toggle us,ru

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

    $ echo "@setxkbmap -option grp:switch,grp:alt_shift_toggle,grp_led:scroll us,ru" >> /etc/xdg/lxsession/LXDE/autostart

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

    3. FluxBox
    Для Debian/Ubuntu:

    $ apt-get update
    $ apt-get install fluxbox xterm

    Для CentOS:

    $ yum install fluxbox xterm
    $ echo "PREFERRED=startfluxbox" >> /etc/sysconfig/desktop


    4. Openbox
    Для Debian/Ubuntu:

    $ apt-get update
    $ apt-get install openbox xterm

    Для CentOS:

    $ yum install epel-release
    $ yum install openbox xterm
    $ echo "PREFERRED=openbox-session" >> /etc/sysconfig/desktop

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

    5. Gnome
    Для Ubuntu/Debian:

    $ apt-get update

    Минимальная установка:

    $ apt-get install --no-install-recommends lightdm gnome-panel gnome-terminal

    Полная установка:

    $ apt-get install gnome gnome-shell

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

    $ curl -LOk https://ruvds.com/downloads/tightvnc-packages.tar

    Или

    $ wget https://ruvds.com/downloads/tightvnc-packages.tar
    $ tar -xvf tightvnc-packages.tar
    $ cd ./tightvnc-packages
    $ dpkg -i *.deb || (apt -f install -y ; dpkg -i *.deb)

    Для CentOS:

    $ yum groupinstall "GNOME"
    $ echo "PREFERRED=gnome-session" >> /etc/sysconfig/desktop

    6. KDE
    Для Debian:

    $ apt-get update

    Полная:

    $ apt-get install kde-full

    Стандартная:

    $ apt-get install kde-standart

    Минимальная установка:

    $ apt-get install kde-plasma-desktop

    Для CentOS:

    $ yum groupinstall "KDE"
    $ echo "PREFERRED=startkde" >> /etc/sysconfig/desktop

    7. Cinnamon
    Для Debian/Ubuntu:

    $ apt-get update
    $ apt-get install --no-install-recommends cinnamon-core lightdm

    Для CentOS:

    $ yum install cinnamon

    8. MATE
    Для Debian/Ubuntu:

    $ apt-get update

    Полная:

    $ apt-get install mate-desktop-environment-extras

    Стандартная:

    $ apt-get install mate-desktop-environment

    Минимальная:

    $ apt-get install mate-desktop-environment-core

    Для CentOS:

    $ yum groupinstall "MATE Desktop"

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

    $ systemctl set-default graphical.target

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

    $ apt-get install lightdm

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

    $ yum install lightdm

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

    $ systemctl set-default multi-user.target

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

    Unitu:

    $ apt-get install ubuntu-desktop

    LXDE:

    $ apt-get install lubuntu-desktop

    XFCE:

    $ apt-get install xubuntu-desktop

    KDE:

    $ apt-get install kubuntu-desktop

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

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


    RDP


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

    Debian:

    $ apt-get install xrdp
    $ systemctl enable xrdp
    $ systemctl start xrdp

    CentOS:

    $ yum install epel-release
    $ yum install xrdp tigervnc-server tigervnc-server-module
    $ chcon -t bin_t /usr/sbin/xrdp
    $ chcon -t bin_t /usr/sbin/xrdp-sesman
    $ firewall-cmd --zone=public --add-port=3389/tcp --permanent
    $ firewall-cmd --zone=public --add-port=3389/udp --permanent
    $ firewall-cmd --reload
    $ systemctl enable xrdp
    $ systemctl start xrdp

    XDMCP:

    $ vi /etc/gdm/custom.conf
    
    [security]
    AllowRemoteRoot=true
    DisallowTCP=false
     
    [xdmcp]
    Enable=true
    MaxSessions=30

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



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

    Для Mac OS:

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

    $ vi /etc/xrdp/xrdp.ini

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

    $ systemctl restart xrdp

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

    $ nmap -p 3389 [IP]
    
    Starting Nmap 6.47 ( http://nmap.org ) at 2016-10-04 13:07 MSK
    Nmap scan report for unspecified.mtw.ru ([IP])
    Host is up (0.0087s latency).
    PORT     STATE  SERVICE
    3389/tcp closed ms-wbt-server

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

    ssh root@[IP] -L 3389:localhost:3389

    Если PuTTY:

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



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



    Далее для Windows:



    VNC


    Клиент:

    Для Windows:

    1. www.realvnc.com
    2. www.tightvnc.com
    3. www.uvnc.com/downloads/ultravnc.html

    Для Linux:

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

    Для MAC OS:

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

    vnc://yourserverip:5901

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

    $ apt-get install tightvncserver

    Или

    $ apt-get install vnc4server
    $ yum install tigervnc-server

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

    $ firewall-cmd --zone=public --add-port=5901/tcp --permanent
    $ firewall-cmd --zone=public --add-port=5901/udp --permanent
    $ firewall-cmd --reload

    Далее выполните:

    $ vncpasswd
    Password:
    Verify:

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

    $ echo "export XKL_XMODMAP_DISABLE=1" >> ~/.vnc/xstartup

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

    $ vi /lib/systemd/system/vncsrv.service

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

    [Service]
    Environment=RESOLUTION=800x600
    Environment=COLOR=16
    Environment=DISPLAY=1
    
    [Unit]
    Description=VNC Server
    
    [Service]
    Type=forking
    ExecStart=/usr/bin/vncserver -depth ${DEPTH} -geometry ${RESOLUTION} :${DISPLAY}
    ExecStop=/usr/bin/vncserver -kill :${DISPLAY}
    ExecReload=/usr/bin/vncserver -kill :${DISPLAY} && /usr/bin/vncserver -depth ${DEPTH} -geometry ${RESOLUTION} :${DISPLAY}
    User=root
    
    [Install]
    WantedBy=multi-user.target

    Делее выполните:

    systemctl daemon-reload
    systemctl enable vncsrv.service
    systemctl start vncsrv.service

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

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

    $ vi /lib/systemd/system/vncsrv.service
    
    [Service]
    Environment=RESOLUTION=800x600
    Environment=COLOR=16
    Environment=DISPLAY=1
    
    [Unit]
    Description=VNC Server
    
    [Service]
    Type=forking
    ExecStart=/usr/bin/vncserver -depth ${DEPTH} -geometry ${RESOLUTION} :${DISPLAY} -localhost
    ExecStop=/usr/bin/vncserver -kill :${DISPLAY}
    ExecReload=/usr/bin/vncserver -kill :${DISPLAY} && /usr/bin/vncserver -depth ${DEPTH} -geometry ${RESOLUTION} :${DISPLAY} -localhost
    User=root
    
    [Install]
    WantedBy=multi-user.target

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

    ssh root@[IP] -L 5901:localhost:5901

    Если 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-сессии. Т.е. если Вы настроили графическую оболочку таким образом, что она запускается при старте системы, то можно использовать следующий вариант:

    $ apt-get install x11vnc
    $ x11vnc -storepasswd
    $ x11vnc -usepw
    $ x11vnc -xkb -noxrecord -noxfixes -noxdamage -display :0 -auth /var/run/lightdm/root/:0 -usepw &
    $ disown -h %1

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

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

    $ vi /lib/systemd/system/xvncsrv.service

    Добавляем:

    [Unit]
    Description=X11VNC
    
    [Service]
    Type=forking
    ExecStart=/usr/bin/x11vnc -xkb -noxrecord -noxfixes -noxdamage -display :2 -usepw
    User=root
    
    [Install]
    WantedBy=graphical.target

    Далее:

    systemctl daemon-reload
    systemctl enable xvncsrv.service
    systemctl start xvncsrv.service

    NX


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

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

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

    $ apt-get install fluxbox

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

    $ apt-key adv --recv-keys --keyserver keys.gnupg.net E1F958385BFE2B6E
    $ echo "deb http://packages.x2go.org/debian jessie main" > /etc/apt/sources.list.d/x2go.list
    $ echo "deb-src http://packages.x2go.org/debian jessie main" >> /etc/apt/sources.list.d/x2go.list
    $ apt-get update
    $ apt-get install x2go-keyring && apt-get update
    $ apt-get install x2goserver x2goserver-xsession

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

    $ systemctl status x2goserver
    ● x2goserver.service - LSB: Start and stop the X2Go daemon
       Loaded: loaded (/etc/init.d/x2goserver)
       Active: active (running) since Tue 2016-10-11 22:05:51 MSK; 30min ago
    ...

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

    $ vi .profile

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

    $ whereis startfluxbox

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

    $ apt-get install xfce4 xfce4-terminal
    $ add-apt-repository ppa:x2go/stable
    $ apt-get update
    $ apt-get install x2goserver x2goserver-xsession

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

    $ vi .profile

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

    $ yum install epel-release
    $ yum install x2goserver x2goserver-xsession

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

    $ apt-get install x2goclient

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

    Запускаем клиент:



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



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

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



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

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

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

    $ add-apt-repository ppa:x2go/stable
    $ apt-get update
    $ apt-get install x2goserver x2goserver-xsession

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

    $ vi .profile
    $ apt-get install firefox xterm

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



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



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

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



    TeamViewer


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

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

    $ apt-get update
    $ apt-get install lubuntu-desktop
    $ reboot
    $ dpkg --add-architecture i386
    $ apt-get update
    $ wget http://download.teamviewer.com/download/teamviewer_i386.deb
    $ dpkg -i teamviewer_i386.deb
    $ apt-get -f install
    $ teamviewer --passwd [PASSWD]

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

    $ apt-get update
    $ apt-get install lxde lightdm
    $ reboot
    $ dpkg --add-architecture i386
    $ apt-get update
    $ wget http://download.teamviewer.com/download/teamviewer_i386.deb
    $ dpkg -i teamviewer_i386.deb
    $ apt-get -f install
    $ teamviewer --passwd [PASSWD]

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

    $ yum groupinstall "X Window system"
    $ yum install epel-release
    $ yum install fluxbox xterm lightdm
    $ systemctl set-default graphical.target
    $ reboot
    $ curl -o TeamViewer_Linux_PubKey.asc -Lk http://www.teamviewer.com/link/?url=354858
    $ rpm --import TeamViewer_Linux_PubKey.asc
    $ curl -LOk http://download.teamviewer.com/download/teamviewer.i686.rpm
    $ yum install teamviewer.i686.rpm
    $ teamviewer --passwd [PASSWD]

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

    $ echo "[int32] EulaAccepted = 1" >> /opt/teamviewer/config/global.conf
    $ echo "[int32] EulaAcceptedRevision = 6" >> /opt/teamviewer/config/global.conf
    $ teamviewer --daemon restart

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

    $ teamviewer --info


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



    Вместо заключения


    Вот вроде бы и всё. Надеемся что эта статья поможет пользователям linux-серверов в настройке комфортного и удобного для них окружения.

    RUVDS.com

    717,42

    RUVDS – хостинг VDS/VPS серверов

    Поделиться публикацией

    Похожие публикации

    Комментарии 37
      0
      Как решается вопрос с периодичным отваливанием смены раскладки при использовании x2go на клиенте и сервере? А так же с корректной работой цифрового блока клавиатуры?
        0
        http://unixforum.org/index.php?showtopic=108708&st=120&p=1263239&#entry1263239
          0
          Поставил gxkb.
          тем самым нечаянно починился задравший персистентный головняк с раскладками в бунте.
          Уже много лет живу на gnome/fallback, недавно новым инсталлом поставил 16.04 — и началось! полный атас, раскладка непредсказуема! Интересно, сколько десятилетий должно пройти, чтоб в бунте уверенно начали работать несколько мониторов и раскладка клавиатуры? От фразы «казалось бы — чего там сложного?!» меня удерживает только очевидный ответ: «ну так сделай» 8-)

          так вот, на гноме с раскладками беда. Но сейчас времени нет, как-то применился.
          А сейчас поднимаю наскоро терминал с ноута на десктоп, x2go воткнул, LXDE и вообще всю lubuntu поверх гнома, и gxkb переключателем, так в LXDE у меня переключалки идеальны! А в гноме по-прежнему головняк, хоть и попробовал, кажется, все, что когда-либо советовали в инете…

          В итоге, и на десктопе теперь под lubuntu сижу и переосмысливаю опыт прошедших десяти лет 8-)
          +1
          > Вот вроде бы и всё.

          А Spice вы пробовали? Сам себя он хвалит, но это для всех проектов верно. Интересно, как он на самом деле показывает себя.
            0
            Спасибо за комментарий. Не пробовали, посмотрим.
          • НЛО прилетело и опубликовало эту надпись здесь
              +3
              Правильный конфиг SSH позволяет просто пробрасывать необходимые окна клиенту, не весь десктоп. Для этого и серверу, и клиенту нужен X-сервер.
                0
                Дайте пожалуйста ссылки, что такое «правильный конфиг». У меня проброс графического вывода с Ububntu-сервера (что в Linux, что в Windows) происходит сверхмедленно: перерисовка окна идёт несколько минут.
                +1
                Ещё есть SPICE
                  +6
                  Не понимаю смысла использовать на сервере GUI.
                  Кто-нибудь может объяснить адекватные примеры использования? Для чего это может понадобиться?
                    0
                    Установка Oracle Database через GUI гораздо комфортнее.

                    Только я не понимаю почему в статье нет про передачу X-сессий в тот же Xming — самого нативного, что только можно придумать.
                      0
                      Настроить передачу X-сессии сложнее, а RDP прост и понятен.
                      0
                      Для серверов — не могу сказать, Xming обычно хватает. А вот для клиентских машин полноценный RDP будет очень не лишним.
                        0
                        1. Автоматизация на базе selenium. Когда htmlunit не канает, а нужен полновесный браузер.
                        2. Переносимый рабочий стол. Ты собираешь свои офисные задачи на удалённой машине и можешь подключиться к этой сессии отовсюду, не теряя контекста работы. Задача настолько популярная, что куча вебкостылей была создана специально для этого случая.
                          0
                          Не понимаю смысла использовать на сервере GUI.
                          Кто-нибудь может объяснить адекватные примеры использования? Для чего это может понадобиться?

                          Вот например
                          0
                          Можно ли как-нибудь запустить Firefox в Ubuntu 16.04 x64 в RDP-сессии? При настройках «по дефолту» не запускается.
                            0
                            Можно. В статье все описано.
                            0
                            Советую обратить внимание на следующий продукт (open source) http://gravitational.com/teleport/ который заметно упрощает access management через ssh.

                            Ну или https://www.teleconsole.com/

                            Доступ через терминал или web ui.
                              0
                              Спасибо, посмотрим.
                              0
                              Подскажите, не сталкивались случайно с линуксовым VNC клиентом, который умеет отправлять русский язык? У меня ни vinagre ни remmina не справляются. Только uvnc под вайном при включении опции «японская раскладка»
                                +1
                                KRDC вполне себе работает при подключении к винде по RDP и к линуксу по VNC. Регулярно использую для доступа из дома на рабочий комп.

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

                                А так и русский и английский работает.

                                P.S.: В качестве сервера на лине использую x11vnc.
                                  0
                                  попробуйте эту версию ssvnc https://yadi.sk/d/1Uszk7onvYoDQ
                                  0
                                  Putty есть и под линукс: http://putty.org.ru/download.html
                                  Для линукса еще есть такая классная штука: https://sourceforge.net/projects/pacmanager/
                                  Кроме того для удаленного рабочего стола есть https://www.nomachine.com/
                                    0
                                    По поводу PuTTY — опечатка, поправим. PAC'ом сами не пользуемся, а про NoMachine и NX написано в статье.
                                    0
                                    Суть xrdp — тупое проксирование vnc в rdp?

                                    Мечтаю о нормальном рдп под линукс, передающем только измененную часть экрана, и не прокачивающем 1МБ/с+.
                                      0
                                      К сожалению, это так — xrdp нужен какой-либо бекэнд. Есть, кстати, x11rdp, но его нет в официальных репозиториях, а собирать не хотелось. Хотя, быть может, стоит собрать и положить также как TigerVNC для Debian'а…
                                      0
                                      ну сколько можно советовать
                                      $ firewall-cmd --zone=public --add-port=3389/tcp --permanent
                                      $ firewall-cmd --zone=public --add-port=3389/udp --permanent
                                      $ firewall-cmd --reload

                                      ?

                                      firewalld во многом и создавался для того, чтобы так делать не надо было. правильно так:
                                      $ firewall-cmd --zone=public --add-port=3389/tcp
                                      $ firewall-cmd --zone=public --add-port=3389/tcp --permanent
                                      $ firewall-cmd --zone=public --add-port=3389/udp
                                      $ firewall-cmd --zone=public --add-port=3389/udp --permanent
                                        0
                                        Спасибо за замечание.
                                        0
                                        Я, может, ошибаюсь, но я не заметил в статье самый простой вариант для Linux-Linux. После установки иксов запускаем ssh с ключом -X и наслаждаемся окошками удаленных GUI-приложений у себя в системе. Это, конечно, для случая, когда не нужен именно рабочий стол.
                                          0
                                          Спасибо, за Ваш коментарий. Выше уже упоминали о «правильном конфиге для ssh». Конечно есть такой вариант. В стате не упоминается, потому что не упоминается. Может быть добавим…
                                          0
                                          Если вы хотите, чтобы VNC-сервер стартовал автоматически, создайте файл:
                                          $ vi /lib/systemd/system/vncsrv.service
                                          

                                          Эти вредные советы из статьи в статью тащат!

                                          man 'systemctl edit', Luke!
                                          
                                            +1
                                            да, кстати, верно человек говорит: если и создавать файл, то в /etc/systemd/system/, а /lib для стандартных юнитов
                                              0
                                              Спасибо за коментарий.
                                              0
                                              А следующая команда позволяет установить пароль для входа

                                              А команда-то где?


                                              Кстати, TeamViewer, если настроить доступ по IP, прекрасно работает напрямую, в поле ID можно указывать IP. В принципе, если IP на интерфейсе сервера напрямую виден с клиентской машины, при подключении по ID он тоже может сам подключиться напрямую, а не через сервера TV. Еще встречал обратный случай — "сервер" с серым IP, но для сервера клиент виден по внутреннему IP, а вот клиент не видит "сервер" напрямую. При подключении по ID оказалось, что установилось "обратное" соединение, опять без прокси.

                                                0
                                                Спасибо за коментарий.
                                                Команда выше указана:
                                                $ teamviewer --passwd [PASSWD]
                                                
                                                –1
                                                _удалено_
                                                  –1
                                                  Для МАТЕ на Ubuntu вместо
                                                  $ apt-get install mate-desktop-environment
                                                  

                                                  можно добавить репу
                                                  $ apt-add-repository ppa:ubuntu-mate-dev/ppa
                                                  $ apt-add-repository ppa:ubuntu-mate-dev/xenial-mate
                                                  

                                                  и поставить
                                                  $ apt-get install ubuntu-mate-core ubuntu-mate-desktop
                                                  

                                                  Там оно сразу в комплекте с LightDM, кучкой софта и нескучными обоями :)

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

                                                  Самое читаемое