Удаленное подключение к ubuntu. Как из-под Ubuntu удалённо подключиться к компьютеру с Windows? Установка необходимых пакетов

» и вскоре после этого меня попросили рассказать, как сделать то же самое, но наоборот - из Windows к Linux. На первый взгляд может показаться, что задача непростая, но на самом деле, это очень легко.

У читателей может возникнуть вопрос - а зачем это вообще нужно? Ответ прост - для того, чтобы иметь единую точку администрирования. Ведь сколько времени обычно тратится на беготню между компьютерами в попытке разрешить какую-либо проблему! Вы уже знаете, как подключаться к компьютерам под управлением Windows из Linux, а прочитав эту статью, сможете подключаться наоборот - из Windows к Linux, и это значительно облегчит вам задачу администрирования в локальной сети. Итак, приступим.

Допущения

В своей статье я исхожу из того, что в вашей локальной сети уже имеются корректно функционирующие компьютеры под управлением . Чтобы упростить задачу, я буду по схеме 192.168.1.x. При этом намного удобнее использовать статические IP-адреса, иначе вам придется тратить лишнее время на выяснение адреса нужного компьютера.

Программное обеспечение

Вам понадобятся всего два приложения:

На компьютере под управлением Linux для использования в качестве VNC-сервера;
на компьютере под управлением Windows для использования в качестве VNC-клиента.

Установить TightVNC очень легко - просто загрузите инсталлятор и запустите его двойным щелчком. А вот процесс установки приложений в Linux для многих пользователей Windows не так очевиден.

Разумеется, все зависит от того, какой у вас дистрибутив Linux. Но в общих чертах последовательность действий такова:

1. Запустите средство установки и удаления программ - Synaptic, Центр приложений Ubuntu (Ubuntu Software Center), gnome-packagekit и т. п.
2. Введите «x11vnc» (без кавычек) в строке поиска.
3. Отметьте пакеты для установки.
4. Нажмите кнопку «Применить» (Apply), чтобы начать установку.

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

1. Откройте терминал.
2. Выполните команду вида sudo apt-get install x11vnc - в зависимости от того, какой у вас дистрибутив.

После завершения установки можно приступать к подключению.

На компьютере под управлением Linux

Здесь все довольно просто - нужно лишь запустить сервер x11vnc. В справке к данной утилите, которую можно вызвать командой man x11vnc , приводится список доступных опций. Я бы порекомендовал использовать опцию -forever - без нее сервер будет отключаться сразу же после завершения клиентского сеанса. Так что команда, которую следует выполнить в терминале, должна выглядеть так:

X11vnc -forever

Приглашение на ввод следующей команды после этого не появится, даже если использовать символ &. Поэтому стоит добавить строку x11vnc -forever в конце файла «/etc/rc.local », чтобы сервер запускался всякий раз при старте системы.

На компьютере под управлением Windows

Теперь давайте наладим подключение. Запустите установленную в Windows утилиту TightVNC из меню «Пуск» (Start). Появится показанное на рис. A окно, в котором нужно указать адрес для подключения. Отсюда же можно вызвать диалоговое окно настроек (Options).

Рисунок A. Выберите профиль соединения (Connection Profile), наиболее соответствующий вашему типу соединения.

В окне настроек (рис. B) доступен целый ряд параметров, но если вы не нуждаетесь в какой-то особой конфигурации, можно оставить значения по умолчанию.


Рисунок B. TightVNC можно подключить в режиме просмотра (View) - тогда сеанс будет не интерактивным. Это неплохой вариант для тестового подключения.

Настроив все параметры, нажмите кнопку «Соединиться» (Connect), чтобы подключиться к удаленному рабочему столу (рис. C). Скорость соединения зависит от пропускной способности сети, но в целом TightVNC представляет собой вполне работоспособное решение.

Xrdp — это инструмент с открытым исходным кодом, который позволяет пользователям получать доступ к удаленному рабочему столу Linux через Windows RDP.

Помимо Windows RDP, инструмент xrdp также принимает соединения от других клиентов RDP, таких как FreeRDP, rdesktop и NeutrinoRDP

Требования Xrdp

  • пакеты xrdp и xorgxrdp
  • Слушает 3389 / tcp. Убедитесь, что ваш брандмауэр принимает соединения

В этой статье я покажу, как вы можете удаленно подключиться к Ubuntu Desktop с компьютера Windows с помощью инструмента Xrdp.

1) Установка на Linux

на Ubuntu 18.04

Во-первых, вам нужно установить Xrdp на Ubuntu

# apt install xrdp Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: xorgxrdp Suggested packages: guacamole xrdp-pulseaudio-installer The following NEW packages will be installed: xorgxrdp xrdp 0 upgraded, 2 newly installed, 0 to remove and 256 not upgraded. Need to get 498 kB of archives. After this operation, 3,303 kB of additional disk space will be used. Do you want to continue? y

Вы должны настроить правило polkit, чтобы избежать всплывающего окна аутентификации после ввода имени пользователя и пароля на экране входа xrdp в windows

# vim /etc/polkit-1/localauthority.conf.d/02-allow-colord.conf polkit.addRule(function(action, subject) { if ((action.id == “org.freedesktop.color-manager.create-device” || action.id == “org.freedesktop.color-manager.create-profile” || action.id == “org.freedesktop.color-manager.delete-device” || action.id == “org.freedesktop.color-manager.delete-profile” || action.id == “org.freedesktop.color-manager.modify-device” || action.id == “org.freedesktop.color-manager.modify-profile”) && subject.isInGroup(“{group}”)) { return polkit.Result.YES; } });

перезапустите службу xrdp

# systemctl restart xrdp

Затем убедитесь, что служба запущена

# systemctl status xrdp ● xrdp.service - xrdp daemon Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: en Active: active (running) since Tue 2018-10-16 02:05:21 WAT; 11min ago Docs: man:xrdp(8) man:xrdp.ini(5) Main PID: 2654 (xrdp) Tasks: 1 (limit: 2290) CGroup: /system.slice/xrdp.service └─2654 /usr/sbin/xrdp

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

# systemctl enable xrdp Synchronizing state of xrdp.service with SysV service script with /lib/systemd/systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-install enable xrdp

Теперь вам нужно будет проверить свой IP-адрес, потому что вам понадобится его для подключения

# ip add 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6::1/128 scope host valid_lft forever preferred_lft forever 2: ens33: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:0c:29:ef:f6:9b brd ff:ff:ff:ff:ff:ff inet 172.16.8.177/24 brd 172.16.8.255 scope global dynamic noprefixroute ens33

Мой IP-адрес — 172.16.8.177. Так что держите это в своем уме.

Xrdp работает с портом 3389, поэтому обязательно откройте его.

UFW по умолчанию отключен, поэтому вам нужно включить брандмауэр и создать правило для xrdp

# ufw enable # ufw allow 3389/tcp

Теперь вы можете продолжить настройку со стороны windows.

На Centos / Redhat 7

Обязательно установите репозитории Epel прежде всего

# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

Теперь установите пакеты xrdp

# yum update && yum -y install xrdp tigervnc-server

Добавьте правило в брандмауэр. На Centos / RedHat ufw не работает, а работает firewalld

# firewall-cmd --permanent --zone=public --add-port=3389/tcp

Затем перезагрузите брандмауэр

# firewall-cmd --reload

Теперь включите и перезапустите службу xrdp

# systemctl enable xrdp && systemctl restart xrdp

Проверьте свой IP-адрес для удаленного подключения в Windows

2) Подключение из Windows

На вашем компьютере windows, таком как windows 10 в нашем случае, запустите средство подключения к удаленному рабочему столу по умолчанию.

Вам нужно будет ввести IP-адрес вашего устройства, и вам будет предложено ввести имя пользователя

Доступ к удаленному рабочему столу Ubuntu / CentOS

Введите IP-адрес и имя пользователя

Теперь подтвердите информацию и запустите соединение.

Если вы не вышли из системы локально, удаленный вход в систему завершится с ошибкой.

Теперь вас попросят ввести пароль

Теперь подтвердите свои учетные данные. Вы можете увидеть IP-адрес моего Ubuntu в верхней части и страницу входа. Введите свой пароль и наслаждайтесь

В этой статье я покажу вам, как можно получить удаленный доступ к компьютеру с Ubuntu. Имеется ввиду доступ к удаленному рабочему столу, т.к. с доступом к консоли все понятно, и наверное SSH особо в описании не нуждается.
Показывать я буду на примере vnc сервера и xrdp. Т.к. если планируете подключаться с компьютера Windows, VNC на нем скорее всего будет работать, мягко говоря не очень быстро, плюс к этому, нужно будет еще поставить VNC клиента на компьютер, а такая возможность есть далеко не всегда. Мы сделаем так, что можно будет подключаться к компьютеру 1) по чистому vnc протоколу, 2) можно будет подключаться по RDP, а уже из под RDP сессии подключаться по VNC к рабочему столу, это позволит не устанавливать дополнительно VNC клиент на компьютер с которого осуществляется подключение.
Требование к этой схеме одно – у вас должен быть белый IP, в идеале лучше использовать VPN или SSH туннель . Давайте начнем с установки VNC сервера на Ubuntu, я предпочитаю x11vnc. Для того что бы его установить нужно набрать в консоли:

Sudo apt-get update sudo apt-get install x11vnc

X11vnc –storepasswd

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

1) Если у вас система использует systemd (например ubuntu 15.04 и выше) нужно создать конфиг:

Sudo nano /lib/systemd/system/x11vnc.service Description=Start x11vnc at startup. After=multi-user.target Type=simple ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/sanglyb/.vnc/passwd -rfbport 5906 -shared WantedBy=multi-user.target

Само собой, за место /home/sanglyb должна быть ваша домашняя папка, или путь до файла который был указан при создании пароля, если он отличается.

После этого нужно выполнить команды:

Sudo systemctl daemon-reload sudo systemctl enable x11vnc.service

2) Если у вас система использует upstart (например старые версии ubuntu до 15.04) нужно создать конфиг, лежать он должен в папке / etc / init / :

Sudo nano /etc/init/x11vnc.conf

И нужно вписать в этот файл следующее содержимое:

Start on login-session-start script /usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/sanglyb/.vnc/passwd -rfbport 5900 -shared end script

Аналогично примеру с systemd, замените путь до файла с паролем для vnc на ваш.

После чего можно запустить x11vnc сервис.

В первом случае:

Sudo service x11vnc start

Во втором:

Sudo start x11vnc

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

Далее можно попробовать подключиться к нашему компьютеру по vnc. Если все прошло удачно, и после перезагрузки компьютера vnc сервер будет запущен, можно переходить к следующему шагу – установке xrdp сервера.
Для его установки нужно набрать в терминале:

Sudo apt-get install xrdp

После этого нужно поправить конфиг:

Sudo nano /etc/xrdp/xrdp.ini

В нем уберем все пункты кроме globals и console (xrdp2) и изменить название с xrdp2 на xrdp1, то есть у вас должны остаться 2 секции:

Bitmap_cache=yes bitmap_compression=yes port=3389 crypt_level=low channel_code=1 max_bpp=24 #black=000000 #grey=d6d3ce #dark_grey=808080 #blue=08246b #dark_blue=08246b #white=ffffff #red=ff0000 #green=00ff00 #background=626c72 name=console lib=libvnc.so ip=127.0.0.1 port=5906 username=na password=ask

После чего нужно набрать команду

Sudo /etc/init.d/xrdp restart

И можно подключаться. После входа по RDP будет окно аторизации, к которое нужно ввести пароль VNC.

Июль 28

В новых версиях Ubuntu уже есть встроенный VNC сервер . Мы будем использовать его стандартные средства. Пока разбирался в данном вопросе — пришлось почитать приличное количество форумов. Так вот, многие пользователи пишут, что в версии ubuntu 14.04 данный фокус не проходит из-за каких-то внутренних тонкостей устройства ядра. Я в данный вопрос глубоко не вдавался…в любом случае, если вдруг вы являетесь счастливым обладателем именно этой версии — можете воспользоваться альтернативным сервером x11vnc.

Ставится он довольно просто:

Sudo apt-get remove vino sudo apt-get install x11vnc

В этой же статье, будет рассмотрен стандартный VNC сервер уже включенный в ubuntu по умолчанию. Как все настроить?

Коннектимся к удаленному хосту.

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

Итак, допустим в локальной сети мы имеем компьютер под ubuntu с ip адресом 10.20.0.30 и пользователем feanor184 . Коннектимся к нему из консоли с ключем -X (для запуска графических иксов):

Ssh -X [email protected]

вводим пароль и попадаем в консоль нашего удаленного компьютера.

Теперь, вводим в ней:

Sudo vino-preferences

и видим графическое окно

Тут ставим галочки:

allow other users to view your desktop — разрешаем смотреть рабочий стол.

allow other users to control your desktop — разрешаем управлять мышкой и клавиатурой удаленно.

require the user to enter this password — обязательно устанавливаем пароль на подключение. Мало ли кто лазиет в нашей сети

show notification area icon: always — всегда отображаем иконку vnc вверху экрана в трее.

Вы можете выставить так же свои настройки — здесь описаны мои настройки)

Сохраняем настройки и отсоединяемся от удаленного хоста.

Для подключения к настроенному компьютеру используем любой клиент с поддержкой vnc.

Например, Remmina — для Linux.

UltraVNC Viewer — для Windows.

Еще раз напоминаю, для того чтобы описанные настройки подключения работали, на удаленном компьютере должна стоять ОС ubuntu. Установка ubuntu , это отдельная тема, на которой тут не хотелось бы акцентировать внимание, поэтому этот шаг мы пропустим. В интернете много мануалов по данной теме.

Что имеем в итоге?

Мы получили возможность подключаться к удаленному компьютеру под ubuntu и выполнять на нем любые операции так, как если бы мы сами сидели за его монитором

Одна из полезных функций Windows заключается в том, что вы можете подключаться к рабочему столу из другого места для удаленного управления компьютером. К счастью, основные дистрибутивы Linux также предлагают эту функцию, и Ubuntu является одним из них. Если вы хотите подключиться к своим компьютерам Windows из Ubuntu удаленно, вы можете использовать найденный в нем RDP-клиент по умолчанию, который называется Remmina. Вот как создать, настроить и установить подключение к удаленному рабочему столу из Ubuntu в Windows.

ПРИМЕЧАНИЕ. Этот учебник был создан на Ubuntu 18.04 LTS (Bionic Beaver). Однако это работает и в других версиях Linux.

Шаг 1. Включите подключения к удаленному рабочему столу на ПК с Windows

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

Шаг 2. Запустите клиент удаленного рабочего стола Remmina

По умолчанию Ubuntu поставляется с клиентским приложением удаленного рабочего стола, которое поддерживает протокол удаленного рабочего стола (RDP), используемый операционными системами Windows для удаленных подключений. Вы можете найти его в списке приложений Ubuntu.

Если вы предпочитаете выполнять поиск, вы можете найти клиент Ubuntu RDP по умолчанию, используя термин поиска RDP.

Шаг 3. Настройте и установите сеанс удаленного рабочего стола Ubuntu для Windows

Когда вы откроете клиент Remmina Remote Desktop Client, вы должны увидеть что-то вроде этого:

Нажмите кнопку «Создать новый профиль подключения».

Его значок — зеленый знак плюс, который легко заметить в верхнем левом углу окна.

Предыдущее действие открывает окно с названием «Удаленный рабочий стол». Здесь вы можете настроить подключение удаленного рабочего стола Ubuntu к Windows, которое вы собираетесь установить.

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

В поле «Сервер» на вкладке «Основные» введите IP-адрес ПК с Windows, к которому вы будете подключаться. Введите имя пользователя и пароль пользователя для учетной записи пользователя, которую вы хотите использовать на удаленном ПК с Windows. Эта учетная запись пользователя должна существовать на ПК с Windows.

Если вы используете учетную запись Microsoft на ПК с Windows, то все в порядке, чтобы заполнить ваш адрес электронной почты и пароль. Если ваш ПК с Windows является частью домена, введите его в поле «Домен», в противном случае оставьте это поле пустым.

Затем вы можете установить разрешение и глубину цвета, которые вы хотите использовать для подключения к удаленному рабочему столу. По умолчанию в профиле удаленного рабочего стола установлено «Использовать разрешение клиента», что означает, что для подключения используется то же разрешение, что и для компьютера Windows, к которому вы подключаетесь. Глубина цвета также установлена ​​на максимально возможное качество. Однако выбор меньшего разрешения рабочего стола и глубины цвета может повысить производительность сеанса удаленного рабочего стола с Linux на Windows. Если при подключении к удаленному рабочему столу Windows возникает задержка, попробуйте уменьшить глубину цвета или разрешение.

Когда вы закончите настройку всех деталей, нажмите Сохранить и подключиться. Это сохранит ваш профиль подключения и затем инициирует подключение RDP к ПК с Windows.

Через несколько секунд у вас должно быть установлено работающее подключение к удаленному рабочему столу на вашем ПК с Windows.

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