Удаленный доступ к линукс из windows

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

Сегодня поговорим об удаленном подключении к Ubuntu из ОС Windows. 

Зачем удаленно подключаться из Windows к Ubuntu

Не так важно, где находится удаленный компьютер – в соседней комнате или в другом регионе. Интернет убирает подобные ограничения, главное – чтобы связь оставалась стабильной на все время настройки. Это одинаково относится к машинам, работающим хоть на операционной системе Windows, хоть на Ubuntu. Последние используются, например, для развертывания сервера CS или Minecraft.

Причины, по которым требуется удаленное подключение:

  1. ручной запуск обновлений на компьютере с Ubuntu;
  2. настройка системы без подключения локального монитора, клавиатуры;
  3. работа с машиной, расположенной по другому адресу.

Пользователю доступно три варианта коннекта с компьютеров, работающих на ОС Windows. Выбор зависит от удобства и предпочтений: SSH через приложение PuTTY, встроенная поддержка RDP и виртуальная сеть VNC (понадобится предварительная настройка клиента). В любом случае перед работами понадобится выяснить IP-адрес компьютера, к которому предстоит подключаться.

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться


Как выяснить IP-адрес компьютера с установленной ОС Ubuntu

Если есть физический доступ к компьютеру с установленной Ubuntu, на нем открывается терминал (комбинация клавиш Ctrl+Alt+T) и вводится команда ifconfig. В отображенном перечне данных имеет значение строка, начинающаяся с inet addr. Если используется подключение через Wi-Fi, то рядом будет его маркер в виде «wlan0». При проводном соединении фраза будет заменена на «eth0». Рядом отображается актуальный IP-адрес машины.

Второй способ заключается в применении функций графического интерфейса. Последовательность действий: найти значок подключения на панели, кликнуть правой кнопкой мышки, выбрать пункт «Сведения о подключении». Там и указан постоянный IP-адрес компьютера. Если доступа к нему нет, то можно выяснить данные через маршрутизатор. В панели управления отображаются активные пользователи вместе с их «контактами».

Подключение к Linux через SSH

Перед подключением на компьютер с Windows устанавливается приложение PuTTY. Это популярный инструмент для организации SSH-соединения, которое предоставит удаленный доступ к командной строке Ubuntu. Важно понимать, что этот режим требует определенного опыта в управлении, ведь здесь нет привычной мыши и «окошек», а все команды передаются в текстовом виде. Отчеты предоставляются в таком же виде.

Putty

По умолчанию возможность коннекта через SSH в Ubuntu отключена. Так что предварительно эту систему требуется настроить. Активация функции выполняется вводом команды sudo apt install openssh-server (в той же консоли, где ранее был взят IP-адрес). Логин и пароль подключения будут те же, что используются при входе в операционную систему.

Из-за неудобства управления в текстовой среде этот вариант востребован для удаленной активации более удобных инструментов. Например, тех же протоколов RDP или VNC. В них также пригодится IP-адрес, поэтому получить минимальные навыки работы в консоли все равно рекомендуется. Это упростит решаемые задачи, если по каким-то причинам не удается соединение в других режимах.

Подключение из Windows через RDP

Способ подключения через службу Remote Desktop Protocol (RDP) распространен при работе с машинами на платформе Windows. Популярность инструмента объясняется просто – его поддержка встроена во все виды и версии операционных систем. Все, что понадобится для подключения, уже известно: это IP-адрес, логин и пароль от Ubuntu. Запускается утилита через поиск, называется она «Подключение к рабочему столу».

RDP

На компьютере-клиенте требуется установка приложения xrdp.

  1. Необходимо открыть окно термина нажатием комбинации клавиш Ctrl+Alt+T.
  2. Ввести текстовую команду sudo apt install xrdp и нажать «Ввод».
  3. Провести активацию программы командой sudo systemctl enable xrdp.

После установки надо ввести на компьютере-сервере данные доступа и нажать кнопку «Подключить». Если поставить галочку «Разрешить мне сохранять учетные данные», последующие входы будут выполняться без дополнительных вопросов. Но в первый раз пароль всегда вводится вручную. При желании создается отдельный конфигурационный файл (востребовано, когда много компьютеров с удаленным управлением).

После подключения пользователь видит рабочий стол компьютера на Ubuntu. Работа с его окнами не отличается от локального управления – функционируют все настроенные горячие клавиши, перетаскивание мышью. В некоторых версиях Ubuntu, например, 18.04 LTS, RDP не работает, пока не выйдешь из текущего пользователя. Подобные фишки обычно известны системным администраторам.

Подключение через VNC

Есть другой вариант удаленного рабочего стола – сеть Virtual Network Computing (VNC). Она тоже требует предварительной настройки обеих машин. Так, на компьютер с Ubuntu инсталлируется ПО, открывающее доступ к управлению.

Последовательность действий:

  1. Открыть окно терминала.
  2. Ввести команду sudo apt update.
  3. Установить сервер: sudo apt install tightvncserver.
  4. Активировать его: sudo tightvncserver.

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

На этом все! TightVNC Server готов к работе, остается следом настроить компьютер на Windows. Программа доступна на официальном сайте разработчика в двух версиях: 32 и 64-бит.

VNC

После инсталляции и запуска достаточно ввести IP-адрес хоста и пароль доступа, введенный после активации сервера на Ubuntu. Схема работы VNC аналогична предыдущему примеру: пользователь видит перед собой удаленный рабочий стол и управляет функциями операционной системы, как будто сидит за компьютером локально.

Время на прочтение11 мин

Количество просмотров359K

В службу технической поддержки 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-серверов в настройке комфортного и удобного для них окружения.

  • Как настроить удаленный доступ к Ubuntu из Windows
  • Шаг 1. Установите для Ubuntu Xrdp и Xfce
  • Шаг 2. Подключитесь через Windows-терминал

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

Как настроить удаленный доступ к Ubuntu из Windows

Существует три основных способа удалённого подключения:

  • по SSH (Secure Shell),
  • через VNC (Virtual Network Computing),
  • по RDP (Remote Desktop Protocol).

Первые два способа хорошо подойдут, чтобы подключиться к Ubuntu из Linux. Самый оптимальный вариант удалённого подключения к Ubuntu из Windows — по протоколу RDP. Этот протокол удаленного управления, который разработала компания Microsoft, позволяет подключаться только к тем к устройствам (компьютерам, серверам, а также виртуальным серверам), на которых установлен сервис терминальных подключений. В Windows сервис терминальных подключений встроен по умолчанию. Подключение к устройствам всегда происходит по порту TCP 3389.

Чтобы настроить удаленное подключение к Ubuntu этим способом, сначала нужно установить на компьютер или сервер пакет Xrdp и графическое окружение Xfce. 

Шаг 1. Установите для Ubuntu Xrdp и Xfce

1. Обновите пакеты командой:

sudo apt update

2. Откройте TCP-порт 3389:

sudo ufw allow 3389

3. Установите Хrdp с помощью команды:

sudo apt install xrdp

4. Активируйте Хrdp командой:

sudo systemctl enable xrdp

5. Проверьте статус установки Хrdp:

sudo systemctl status xrdp

Если установка прошла успешно, статус будет active:

Как установить Ubuntu RDP

6. Затем установите графическое окружение рабочего стола Xfce:

sudo apt install xfce4

7. Запустите Хrdp командой:

sudo systemctl start xrdp

Совет: если вы хотите остановить работу xrdp, введите команду:

sudo systemctl stop xrdp

Готово, вы установили в Ubuntu Xfce и Хrdp. Теперь к Ubuntu можно подключиться через удалённый рабочий стол.

Шаг 2. Подключитесь через Windows-терминал

Обратите внимание: Для работы через удалённый рабочий стол вам понадобятся данные учётной записи Ubuntu, а также IP-адрес устройства, к которому вы планируете подключиться. IP-адрес сервера указан в информационном письме, которое пришло на контактный email при заказе услуги, а также в карточке услуги на вкладке “Управление”. 

1. Откройте меню терминала RDP сочетанием клавиш Win+R. Затем в поисковую строку введите “mstsc”:

Настройка Ubuntu RDP

2. Укажите IP-адрес устройства, к которому планируете подключиться, и кликните Подключить:

3. Введите данные учётной записи Ubuntu, в которой хотите работать, и нажмите ОК:

Подключение к рабочему столу Ubuntu

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


Remote Desktop Protocol (RDP) enables users to establish a secure connection to remote computers over a network, allowing them to access files, applications, and system resources as if they were physically present.

Microsoft developed RDP primarily for Windows, but it also works for Linux, macOS, Android, and iOS devices, making it a versatile solution for remote access across different operating systems.

This article will show you how to connect to an Ubuntu system from Windows using RDP.

how to access ubuntu via remote desktop from windows

Prerequisites

  • A client Windows machine.
  • A host machine with Ubuntu installed.
  • Sudo or root privileges on the host machine.

How to Connect to Ubuntu Remote Desktop From Windows

The RDP client is preinstalled on Windows. However, the Ubuntu system must be configured before it accepts incoming RDP connections.

Follow the steps in the sections below.

Install xrdp on Ubuntu

xrdp is an RDP server for Linux that listens for and accepts RDP connections from clients. Ubuntu systems usually do not have xrdp installed by default.

To install xrdp on Ubuntu, take the following steps:

1. Update the Ubuntu packages list:

sudo apt update

2. Install xrdp with the following command:

sudo apt install xrdp -y
terminal output for sudo apt install xrdp -y

3. Check the xrdp server status:

sudo systemctl status xrdp
terminal output for sudo systemctl status xrdp

The output confirms the xrdp is active.

Configure xrdp Port (Optional)

The <strong>xrdp</strong> server listens for incoming RDP connections on port number 3389. Using a non-standard port for RDP connection is a form of protection through obscurity. It is not a robust security measure, but it protects a system from rudimentary brute-force attacks.

To instruct xrdp to listen on a different port, take the following steps:

1. Use a text editor, like Vim, to edit the xrdp configuration file, xrdp.ini:

sudo vim /etc/xrdp/xrdp.ini

2. Locate the port directive in the [Globals] section and set the desired value. In this example, the RDP port is 49952:

port=49952
port=49952 in Vim, terminal output

3. Save the changes and exit the file.

4. Restart the xrdp server to apply the changes:

sudo systemctl restart xrdp

There is no confirmation message after the server restarts.

Open a Port for Incoming Traffic in ufw

An active firewall on the Ubuntu system, such as ufw, can block traffic on specific ports. Configure the firewall and allow traffic on the desired port to ensure successful RDP connections.

Take the following steps:

1. Check the ufw firewall status:

sudo ufw status
sudo ufw status terminal output

If the firewall is inactive, use the following command to turn on ufw:

sudo ufw enable

2. Allow traffic on port 3389 or choose a different port for your RDP connection. The following command allows RDP connections on port 49952:

sudo ufw allow 49952/tcp
sudo ufw allow 49952/tcp terminal output

Modify the command to open a different port number for RDP connections.

3. Reload the ufw firewall tool to apply the changes:

sudo ufw reload
sudo ufw reload terminal output

Note: If you want to access the Ubuntu machine from outside its local network, configure port forwarding on the router or adjust external firewalls.

Configure Remote Desktop Connection on Windows

To initiate an RDP connection to a remote Ubuntu system from Windows, take the following steps:

1. Type rdp in the Windows search box.

2. Open the Remote Desktop Connection app.

3. Enter the IP address or name of the remote Ubuntu system in the Computer field.

Enter Computer IP address

If you change the default port number for RDP connections on Ubuntu, enter the port number after the IP address in the following format:

IP_address:port_number

4. Type the username of the Ubuntu user for the RDP connection.

Type in the User Name

5. (Optional) Save the connection details for future use.

6. (Optional) The Remote Desktop Connection (RDP) app in Windows enables users to configure the RDP session. The main configuration options are split into several sections:

  • Display. Adjust the size and color settings of the remote desktop window.
  • Local Resources. Decide which local devices (keyboards, audio, and printers) to share with the remote system.
  • Experience. Modify visual effects like desktop background and font smoothing based on network speeds.
  • Advanced. Fine-tune server authentication settings, set up a Remote Desktop Gateway server, and more.

7. Click Connect.

Click the Connect button

Log in to Ubuntu System

Enter the password for the Ubuntu RDP user and click OK.

Enter the password for the Windows to Ubuntu RDP session.

You are now able to interact with the Ubuntu machine via the established RDP session.

Remote desktop connection

Ubuntu RDP From Windows: Extra Tips + Best Practices

To set up a smooth and secure RDP connection from Windows to Ubuntu, focus on more than basic configuration. Optimize hardware, internet speed, and security settings to improve performance and responsiveness.

The following text explains best practices and useful tips for RDP from Windows to Ubuntu.

Minimum vs. Optimal Hardware Requirements

The RDP connection quality from Windows to Ubuntu depends on the system’s hardware capabilities and the type of tasks and applications running on the Ubuntu system.

The Ubuntu system should meet the following requirements:

REQUIREMENTS MINIMAL RECOMMENDED
CPU Single-core 1 GHz+ Dual-core 2 GHz+
RAM 2 GB+ 8 GB+
Storage 25 GB+ 50 GB+ (SSD)
Network Basic NIC Stable broadband (Ethernet NIC)
Graphics Integrated graphics or entry-level GPU Dedicated GPU

Ideal Internet Speed for RDP Connections

Certain tasks require a minimal level of responsiveness and visual quality. The table offers an overview of minimal and recommended bandwidth per connection for general RDP tasks:

Tasks LOCAL NETWORK INTERNET
Text editing 1 Mbps 1 Mbps
Web browsing 5 Mbps 2-5 Mbps
Video streaming 10-15 Mbps 5-10 Mbps

Beyond bandwidth, factors such as server load, network latency, and packet loss impact RDP performance. For the best experience, prioritize low-latency connections and stable network conditions.

xrdp Black Screen Issue Troubleshooting

Users sometimes encounter a black screen when using xrdp with specific Ubuntu configurations. The screen appears after establishing an RDP session and prevents users from interacting with the Ubuntu system.

Black screen issue

To try and resolve the black screen issue, use the tips from the sections below.

Check Log Files

Log files provide valuable information about potential errors. Access the /var/log/xrdp.log using the following command:

sudo vim /var/log/xrdp.log
sudo vim /var/log/xrdp.log terminal output

Look for warnings and error messages on the log timeline.

The /var/log/xrdp-sesman.log file contains entries about session startups and shutdowns, operational messages, and warnings. Use the following command to access the log:

sudo vim /var/log/xrdp-sesman.log
sudo vim /var/log/xrdp-sesman.log terminal output in VIm

Check for errors occurring when a new session is initiated and for other backend-related issues.

Set max_bpp in xrdp.ini File

The bits per pixel (bpp) value defines the number of bits used to represent the color of a single pixel. High bpp values increase the data that needs to be transferred, which affects performance and causes compatibility issues.

Use the following command to access the xrdp.ini configuration file and check the max_bpp value:

sudo vim /etc/xrdp/xrdp.ini

Set the max_bpp value in the [Globals] section to 24, as the default value of 32 bpp sometimes causes issues. If there are other max_bpp values under individual sections, adjust them as well.

Set max_bpp in xrdp.ini File in Vim

Save the changes and restart the xrdp service to ensure the changes take effect.

Reinstall xrdp

A straightforward way to resolve configuration or compatibility issues is to reinstall xrdp.

Run the following to remove the xrdp package and delete its configuration files:

sudo apt remove --purge xrdp -y

Initiate a fresh xrdp installation from Ubuntu repositories with:

sudo apt install xrdp -y

After the installation, modify the xrdp configuration files again.

Install a Different Desktop Environment

The default Ubuntu GNOME desktop occasionally has compatibility issues with xrdp. Install an alternative Ubuntu GUI, such as the XFCE desktop environment, and attempt to establish an RDP connection.

Security Measures

Secure an RDP session from Windows to Ubuntu to prevent unauthorized access and data breaches. Proper security measures include hardening the Windows client and Ubuntu host, restricting network access, and enforcing strong authentication policies.

The following sections present key steps to enhance security.

Windows

  • Update Windows regularly to ensure the Remote Desktop Connection app is up-to-date with the latest security patches.
  • Limit the number of simultaneous active RDP sessions.
  • Disconnect from an RDP session when it is not being used and set timeouts for idle sessions.

Network

  • Use a firewall to restrict RDP access to specific IP addresses.
  • Change the default RDP port (3389) to a non-standard port number.
  • Use a VPN to encrypt the data transfer between client and host machines.
  • Alternatively, use SSH port forwarding to create an encrypted tunnel for the RDP session if a VPN is not an option.

Linux

  • If you use xrdp, edit the /etc/xrdp/sesman.ini file to specify which users can establish an RDP connection.
  • Create dedicated accounts for RDP to restrict access to critical systems or data.
  • Implement two-factor authentication for RDP sessions. xrdp does not natively support 2FA but can be integrated with other authentication tools.
  • Temporarily lock user accounts after multiple unsuccessful login attempts.
  • Enforce strong password policies for RDP user accounts.

Reduce Resolution and Color Depth for Performance Boost

Enhance the RDP session performance by adjusting the color depth and screen size from the Windows RDP client.

To reduce the resolution and color depth, access the Remote Desktop Connection app and:

1. Open the Display tab.

2. Drag the Display configuration slider left to reduce the resolution. For optimal performance on slower connections, 1280×720 resolution is a good choice.

3. Expand the dropdown in the Colors section and choose High Color (16-bit) to reduce the color depth.

RDP Display settings

Reducing the screen size and color depth is especially beneficial for low-bandwidth or unreliable network connections.

Conclusion

This tutorial explained how to initiate an RDP session from your Windows system to a remote Ubuntu machine. It also elaborated on useful tips and best practices for a high-quality and secure connection.

Next, learn how to SSH to a remote server from Windows, Linux, or Mac.

Was this article helpful?

YesNo

Обычно мы рассказываем об операционной системе Debian 12 в качестве промышленного сервера, в данном руководстве речь пойдет о рабочей станции или домашнего сервера в качестве Debian 12.

При установке операционной системы мы установили графическую оболочку, можно выбрать Gnome или KDE. Возникла задача подключится к нему удаленно из операционной системы Windows, использую стандартную утилиту — Подключение к удаленному рабочему столу.

1. Установим на Linux Debian 12 необходимые службы

apt update
apt upgrade
apt install xrdp
apt install xfce4

1.1 Внесем необходимые настройки

echo xfce4-session >~/.xsession

1.2 Разрешим доступ

В файле

nano /etc/X11/Xwrapper.config

Поменяем строку:

allowed_users=console

на:

allowed_users=anybody

1.3 Перезапустим службу

service xrdp restart

2. Подключимся с помощью стандартной утилиты Windows

2.1 Запустим приложение и введем ip адрес рабочей станции Debian 12

2.2 Укажем логин и пароль

2.3 Подключение прошло успешно

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Как отключить проверку файлов на вирусы в windows 10
  • Ошибка пакета установщика windows выполнение части программы
  • Windows tweaker 10 аналоги
  • Не может запуститься проводник windows 10
  • Почтовый клиент для windows portable