Убунту подключение к удаленному рабочему столу. Как настроить удаленный доступ к Ubuntu из Windows. Делаем TightVNC более безопасным

Одна из полезных функций 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.

Если по какой-либо причине тебе потребовалось получить доступ к удаленной машине с Ubuntu именно через RDP, то не отчаивайся — все возможно! Для этого существует инструмент под названием xrdp. В данной инструкции я расскажу, как можно подключиться к Ubuntu через RDP из Windows.

Установка необходимых пакетов

Нам потребуется установить в систему два пакета — xrdp и xorgxrdp, но второй итак находится в зависимостях первого, поэтому достаточно выполнить одну команду:

Sudo apt install xrdp

Настройка xrdp

Для корректной работы необходимо, чтобы был открыт TCP порт 3389 — убедись, что твой брандмауэр не блокирует данный порт.
Также, если в системе не установлено ни одно окружение рабочего стола — то стоит его установить, например Xfce, сделать это можно командой:

Sudo apt install xfce4

Также в домашнем каталоге пользователя, от имени которого будет происходить вход в систему должен быть расположен файл .xsession в котором указана команда запуска оболочки, в нашем примере это startxfce4 (для запуска xfce). После создания этого файла выполни команду sudo systemctl restart xrdp для обновления конфигурации xrdp (если он уже был запущен).

Запуск xrdp

Для запуска сервиса следует выполнить команду:

Sudo systemctl start xrdp

а для того, чтобы xrdp стартовал вместе с системой (не обязательно) команду:

Sudo systemctl enable xrdp

Соответственно остановка и отключение автозапуска сервиса:

Sudo systemctl stop xrdp sudo systemctl disable xrdp

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

Открываем меню подключения к удаленному рабочему столу. Универсальный способ сделать это — через «Выполнить» — нажимаем Win+R и в открывшемся окне набираем mstsc:

В открывшемся окне указываем машины с Ubuntu и жмем «Подключить»:

В появившемся приглашении указываем данные учетной записи в Ubuntu от имени которой будет происходить подключение:

И, после нажатия «Ok», попадаем в систему:

В данном примере была использована Ubuntu 18.04 и Windows 10.

Все мы хотим работать там, где нам комфортно, и удаленный доступ к системам - очень удобная вещь. Многие удаленные рабочие системным предназначены для подключения и настройки своих узлов. Для компаний это идеально; ну, а любителям оно зачем? Конечно, всем энтузиастам хочется иметь больше одного компьютера, и в подобном случае будет удобно подключиться через вашу собственную сеть или даже через Web.

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

Распространенная причина для энтузиастов - проблемы с производительностью. Ноутбуки, способные обработать самую новейшую анимацию или скомпилировать вашу самую последнюю итерацию программы, чересчур дороги, а такую же систему в виде настольного ПК можно получить за относительно скромную сумму. Если вы работаете с Blender, рендеринг можно делать удаленно, а на локальном компьютере ограничиться только отображением всего приложения. Ваша среда разработки может требовать большого объема памяти, и дожидаясь, пока программа скомпилируется, вы бы с удовольствием отключились и занялись чем-нибудь еще.

Так какие у вас есть опции?

Вначале была опция X для SSH (-X). И она работала довольно неплохо - когда ваш удаленный компьютер был не далеко, а рядом с вами, и у вас была гарантированная пропускная способность 100 Мб/с. Использование SSH подобным образом удобно только если для работы с вашими задачами у вас есть сервер без мыши, клавиатуры и монитора - вероятнее всего, файловый сервер или нечто подобное. Если вы хотите использовать старый настольный ПК, который пылится у вас в кладовке, или если вы постоянно находитесь в отъезде, этого будет недостаточно.

Удвоим удовольствие

Есть ряд возможностей, которые вы упустите при использовании SSH, работающем на другой машине. Две самых важных - функции сжатия и возобновления сессии. Вы, возможно, слышали о Citrix - у этого коммерческого решения огромное количество функций, которые многие предприятия считают весьма полезными, но обычным пользователям они только усложняют дело.

Клиентов, или просмотрщиков , для локального компьютера имеется множество, и многие адаптированы под ваш рабочий стол. Как обычно, всё, что начинается с ‘g’ - для инструментария GTK. Большинство абонентов включены в ваш дистрибутив, и их можно добавить через менеджер пакетов. Ваш автор использует для доступа к своим серверам просмотрщик tigervnc и канал SSH.

При тестировании этого вы должны начать с установки и настройки сервера, а уж потом сможете внести разные клиенты. Установка VNC-сервера на удаленной машине требует привилегий root, если только вы не решите воспользоваться инструментом области пользователя, например, Linuxbrew.

Процедура установки использует обычные команды управления пакетами:

$ sudo apt install vncserver

$ sudo yum install vncserver

Чтобы настроить сервер, вы можете просто оставить его как есть, потому что настройки по умолчанию вполне разумны.

Теперь хитрость в том, чтобы обеспечить открытость всех портов, и здесь нам опять нужны привилегии root. Обычно vncserver начинает с порта номер 5901 и поднимается вверх по номерам. Однако этот номер можно назначить любым, если только вы не запутаете своих напарников или не обращаетесь к общим портам. Поскольку протокол VNC небезопасен, этот подход не рекомендуется, разве что вы используете его внутри своей собственной сети и при проводном соединении.

Однако, чтобы повысить безопасность, надо пресечь использование порта 59xx. Для этого добавьте опцию “localhost” в виде одной строки в ~/.vnc/config . Следующее относится к приведенному выше примеру, но в таком формате:

Система с такими настройками требует для работы канал SSH. Кстати о нем…

Канал SSH отсюда

Чтобы обеспечить себе зашифрованную коммуникацию, надо создать канал SSH со своего локального компьютера.

Когда вы открываете канал SSH, вам следует знать порт, используемый для подключения VNC. К счастью, если вы являетесь единственным пользователем удаленного сервера, то можете выбрать порт заранее. И вот как это делается.

Сначала выберите порт. Здесь мы взяли 5906, и, следовательно, дисплей (6). Чтобы не было других VNC-сессий на локальном ПК, на локальной стороне канала мы начали с 5910. При настройке полной системы выберите более запоминаемый диапазон портов: $ ssh -L 5910:localhost:5906 На удаленном хосте запустите vncserver; возможно, вам понадобится указать кое-какие параметры для настройки экрана и показателя дисплея.

В данном случае мы хотим запустить сессию, которая выстоит, даже если прервется соединение или мы закроем просмотр-щик. Когда этот режим включен, вы должны задать пароль VNC. Поэтому на удаленном сервер запустите

$ vncpasswd [ your_password ]

Это пароль, отдельный от пароля пользователя, но он может быть каким угодно, лишь бы вы его запомнили.

Чтобы запустить экземпляр сервера, просто запустите команду, и она присвоит очередной дисплей. В нашем случае мы хотим запустить дисплей (а именно, 6), поэтому команда выглядит так:

$ tigervncserver - xstartup / usr / bin / xterm : 6

New ‘DS - Tage . matstage : 6 (matstage ) "desktop at : 6 on machine DS - Tage . matstage

Starting applications specified in / usr / bin / xterm

Log file is / home / matstage / . vnc / DS - Tage . matstage : 6.log

Для подключения к VNC-серверу скомандуйте xtigervncviewer -SecurityTypes VncAuth -passwd /home/matstage/.vnc/passwd:6 .

Как видите, сервер запускается и сообщает вам, что делать для работы с ним. Однако нам нужен доступ к нему с другого компьютера, поэтому мы должны запустить несколько другую команду, чтобы получить корректное отображение. Номер 6 в инструкции относится к дисплею, и он должен соединяться через канал SSH; в этом примере мы соединили 5910 с 5906. При настройке полной системы выберите более запоминаемый диапазон портов.

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

$ xtigervncviewer localhost : 5910

Очень легко допустить еще одну ошибку: подключиться не к тому порту. В таком случае на стороне сервера вы увидите сообщение, где говорится: ‘channel 3: open failed: connect failed: Connection refused . Это хороший признак того, что связь между компьютерами есть и что вам просто надо подправить настройки.

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

Чтобы остановить свою сессию, вы можете выйти из вашей удаленной сессии или отключить сессию через SSH.

Но остановить сессию надо, сначала ее найдя. Чтобы убедиться, что у вас нет бесконтрольных сессий, сначала сделайте их список:

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

Чтобы сделать больше опций доступными из вашего прос-мотрщика, установите на свой локальный компьютер ssvnc. Ssvncviewer - расширенная версия программы просмотра со множеством полезных опций, самая важная из которых - режим помощника SSH. Чтобы использовать режим помощника, сначала разберитесь с опциями GUI, а затем создайте профиль в соответствии со своими требованиями. Когда вы его запустите, будет много опций для запуска vncviewer, включая командное окно SSH. Сюда вы можете ввести любую команду, которую хотите запустить перед подключением. Итак, в этом примере запуск vncserver является обоснованным действием:

$ vncserver - useold - name Blender - xstartup awesome : 6

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

Для получения доступа к этим функциям вы нажимаете на F8 при работающем просмотрщике. Появится всплывающее окно ssvnc, и вы можете выбирать из списка. Начиная сверху списка, у вас есть опция полноэкранного режима. Отправка, F8, F9 и Ctrl + Alt + Del с удаленного ПК блокируются, поскольку их использует просмотрщик. Далее по списку имеются настройки качества, которые можно изменить.

Другие опции в этом всплывающем списке работают с цветом - вы можете изменить глубину цвета и вернуться к градации серого. Из того же окна запускается окно передачи файлов. Это программа Java с одним столбцом для каждой стороны соединения и кнопками между ними для выбора файлов и их отправки.

Файлы частной настройки для ssvnc размещаются в директориях.vnc/, где вы найдете файлы и для других пакетов VNC.

Некоторые из этих пакетов описаны далее. У вас также есть пароли в зашифрованной форме и ключи RSA для аутентификации. Профили, которые вы создаете из GUI ssvnc, хранятся здесь, на случай, если вам понадобится внести изменения с помощью командной строки.

Другое крупное решение - RealVNC, но хотя эта программа бесплатная и с открытым кодом, сервис коммерческий. Однако есть бесплатная опция - домашняя подписка, которую можно использовать для пяти и менее компьютеров.

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

Время быть реальным

Чтобы установить RealVNC, перейдите на его страницу (www. realvnc.com) и скачайте пакет VNC connect для компьютера, который хотите контролировать. Продолжайте установку так же, как для обычных пакетов для вашего дистрибутива.

$ sudo dpkg - i VNC - Server - 6.2.0 - Linux - x64 . deb

Когда программа будет установлена, она запустится и появится на вашем рабочем столе в строке уведомлений или ее эквиваленте для вашего рабочего стола. Далее откройте графический интерфейс и подключитесь к своей учетной записи RealVNC, которую вы, вероятно, уже создали. Как только вы войдете, компьютер появится в вашей учетной записи RealVNC. С этого момента вы можете получать к нему доступ с любого компьютера, где установлена программа просмотра.

На вашем локальном компьютере вы должны следовать обычной процедуре установки пакета VNC-viewer и запуска программы. При первом запуске вам предложат войти в вашу учетку; и зарегистрированные вами компьютеры появятся в вашем списке учетных записей. Программа RealVNC весьма изящна, и вы быстро освоитесь; но если вам надо подключить более пяти компьютеров, придется раскошелиться.

Наш ответ Nomachine

Еще одно решение для удаленной работы - использование протоколов nomachine. Они ведут начало от проприетарного ПО под названием NX. Протокол открытый, что привело к созданию свободной версии и версии с открытым кодом: FreeNX. В настоящий момент самая популярная версия называется x2go. Она дает тяжеловесна по сравнению со сжатым X-протоколом, так что может не подойти вам, если вы используете Wayland. На самом деле, многие рабочие столы не поддерживаются или требуют обходных путей. Однако Mate поддерживается полностью, и если он ваш фаворит, тогда ищите его пакет для удаленной работы. Для лучшей производительности вы также можете использовать LXDE, который отлично сработал у автора.

(1 оценок, среднее: 5,00 из 5)

Июль 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 и выполнять на нем любые операции так, как если бы мы сами сидели за его монитором