Удаленное подключение к 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:
Мой 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.