→ Установка Ubuntu по сети. Удалённый рабочий стол Ubuntu: возможные варианты подключения Как организовать удаленный рабочий стол на ubuntu

Установка Ubuntu по сети. Удалённый рабочий стол Ubuntu: возможные варианты подключения Как организовать удаленный рабочий стол на ubuntu

Удаленный рабочий стол позволяет подключиться к вашему компьютеру через интернет с помощью другого компьютера или даже смартфона. Вам может достаточно часто понадобится сделать что-то на другом компьютере, даже если вы не рядом с ним. Такая возможность есть и у Ubuntu.

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

Удаленный рабочий стол Ubuntu

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

Откройте главное меню Dash и наберите в поиске Desktop Sharing.

Если система ничего не обнаружит, это частый баг. Вы можете запустить утилиту через терминал. Для этого откройте терминал с помощью Ctrl+Alt+T и выполните:

vino-preferences

Дальше, в открывшемся окне установите галочку "Позволить другим пользователям видеть ваш рабочий стол" Затем напротив поля "Требовать пароль" введите пароль, который будет использоваться для подключения:

Здесь все, удаленный рабочий стол ubuntu настроен. И уже сейчас вы можете пытаться подключиться к вашему компьютеру с помощью другого дистрибутива Linux. Но есть еще один момент. Вы не сможете подключиться из Windows. По умолчанию включено обязательное шифрование. А это поддерживается не всеми клиентами. Чтобы отключить принудительное шифрование нужно установить dconf-editor:

sudo apt install dconf-editor

Затем откройте программу и перейдите по пути org.gnome.desktop.remote-desktop там снимите галочку из пункта:

Теперь вы готовы тестировать подключение к удаленному рабочему столу ubuntu. Откройте главное меню и найдите клиент удаленного подключения Remmina.

В строке подключения выберите протокол VNC , затем введите адрес, поскольку мы собрались проверять на локальной машине, то введите localhost, в других же случаях вам придется использовать ip адрес компьютера. Дальше нажмите "Подключиться" :

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

А затем уже в системе VNC сервер спросит нужно ли разрешить подключение к удаленному рабочему столу ubuntu 16.04 этому клиенту:

После того как вы одобрите подключение, можете пользоваться удаленным рабочим столом. Теперь самое время подключаться из другого компьютера. Вы можете использовать любой VNC клиент для Linux, Windows или Android и подключиться к своему компьютеру если он находится в локальной сети. Кроме того, вы можете получить к нему доступ даже через интернет создав частную локальную сеть, например, с помощью hamachi или OpenVPN.

Выводы

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

Похожие записи:


SSH – один из важнейших инструментов системного администрирования.

SSH, или Secure Shell (безопасная оболочка) – это протокол, который используется для безопасного подключения к удаленным системам. Это самый распространенный способ подключения к удаленным Linux- и Unix-подобным серверам (например, к VPS).

В данном руководстве речь пойдет об использовании SSH для подключения к удаленной системе.

Базовый синтаксис

Для подключения к удаленной системе с помощью SSH в Linux существует одноименный инструмент – ssh.

Базовый вид команды:

ssh удаленный_хост

В данном примере фраза «удаленный_хост» заменяет IP-адрес или доменное имя хоста, к которому нужно подключиться.

Эта команда предполагает, что имя пользователя на удаленной и локальной системах совпадают.

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

ssh имя_пользователя@удаленный_хост

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

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

Чтобы вернуться в локальную сессию, просто наберите:

Как работает SSH?

SSH работает путем подключения клиентской программы к серверу ssh.

В приведенных выше командах ssh является клиентской программой. Сервер ssh уже запущен на указанном удаленном хосте.

Если сервер ssh еще не запущен на VPS, нажмите кнопку «Console Access», которая находится на странице сервера. Это выведет экран авторизации. Для входа используйте свои учетные данные.

В целом, процесс запуска сервера ssh зависит от используемого дистрибутива Linux.

В Ubuntu для запуска сервера ssh на VPS нужно ввести:

Sudo service sshd start

Настройка SSH

При изменении настроек SSH изменяются и настройки ssh-сервера.

В Ubuntu главный конфигурационный файл SSH находится в /etc/ssh/sshd_config.

Создайте резервную копию текущей версии этого файла перед его редактированием:

Sudo cp /etc/ssh/sshd_config{,.bak}

Откройте его с помощью текстового редактора:

Sudo nano /etc/ssh/sshd_config

Некоторые настройки требуют особенного внимания, например:

Данная строка определяет, какой порт ssh-сервер будет прослушивать для соединений. По умолчанию это порт 22.

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

HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key

Строки HostKey указывают, где находятся ключи хоста (подробнее о ключах хоста позже).

SyslogFacility
LogLevel INFO

Данные строки содержат настройки журналирования и определяют уровень журнала.

При возникновении каких-либо проблем с SSH рекомендуется повысить уровень журнала (что увеличивает количество записываемых данных).

LoginGraceTime 120
PermitRootLogin yes
StrictModes yes

Данные параметры содержат некоторую регистрационную информацию.

LoginGraceTime указывает количество секунд, на протяжении которых необходимо поддерживать соединение без авторизации.

Примечание : в данной строке установите немного больше времени, чем обычно необходимо для регистрации.

PermitRootLogin определяет возможность входа в систему как пользователь root.

В большинстве случаев после создания пользователя, имеющего повышенные привилегии (su или sudo) и возможность подключаться через ssh, в данной строке рекомендуется установить «no»

strictModes – это защитное устройство, которое откажет во входе, если файлы аутентификации доступны для чтения всем.

Это предотвращает попытки входа, если файлы конфигурации не защищены.

X11Forwarding yes
X11DisplayOffset 10

Данные параметры настраивают функцию под названием X11 Forwarding, что позволяет просматривать графический пользовательский интерфейс (GUI) удаленной системы на локальной системе.

Этот параметр должен быть активирован и на локальной, и на удаленной машине; для использования функции необходимо передать клиента и опцию –X.

Отредактировав данный файл, не забудьте перезапустить ssh-сервер, чтобы активировать внесенные изменения:

sudo service sshd restart

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

Столкнувшись с проблемами, помните, что войти можно также с помощью кнопки «Console Access».

Вход с помощью ключей SSH

Зачастую аутентификация на основе ключей намного надежнее, чем вход в удаленную систему при помощи пароля.

Как работает аутентификация на основе ключей?

Аутентификация на основе ключей подразумевает создание пары ключей – закрытого и открытого.

Закрытый ключ находится на клиентской машине, должен быть защищен и храниться в секрете.

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

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

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

После настройки ключей весь этот процесс осуществляется автоматически в фоновом режиме.

Создание SSH-ключей

SSH-ключи нужно создать на компьютере, с которого нужно установить подключение (как правило, это локальный компьютер).

В командной строке наберите:

ssh-keygen -t rsa

Чтобы принять настройки по умолчанию, нажмите Enter. Ключи будут созданы в ~/.ssh/id_rsa.pub и ~/.ssh/id_rsa.

Перейдите в каталог.ssh, набрав:

Обратите внимание на права на файлы:

ls -l
-rw-r--r-- 1 demo demo 807 Sep 9 22:15 authorized_keys
-rw------- 1 demo demo 1679 Sep 9 23:13 id_rsa
-rw-r--r-- 1 demo demo 396 Sep 9 23:13 id_rsa.pub

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

В то же время, файл id_rsa.pub можно использовать совместно, потому он имеет соответствующие привилегии.

Передача открытого ключа на сервер

Следующая команда скопирует открытый ключ на удаленный сервер:

ssh-copy-id удаленный_хост

Это откроет сессию SSH, для входа в которую нужно ввести пароль.

После введения пароля открытый ключ будет скопирован на сервер, что позволит в следующий раз войти в систему без пароля.

Клиентские настройки SSH

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

Некоторые из них нужны для установки соответствующих параметров вфайле ssh удаленного хоста.

Например, если номер порта в конфигурациях ssh на локальном хосте был изменен, нужно установить соответствующий порт на стороне клиента, набрав:

ssh -p номер_порта удаленный_хост

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

ssh удаленный_хост нужная_команда

Эта строка установит соединение с удаленной машиной и выполнит указанную команду.

Как уже было сказано, если функция X11 forwarding активирована на обоих компьютерах, ее можно использовать, набрав:

ssh -X удаленный_хост

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

Итоги

Научиться работать с SSH очень важно хотя бы потому, что это необходимо для выполнения самых базовых задач.

Постоянно используя SSH, можно не только защитить сервер, но и стать продвинутым пользователем, что значительно упростит жизнь. Протокол SSH остается популярным, потому что он безопасен, надежен и полезен в различных ситуациях.

Tags: ,

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

Настройка Ubuntu для разрешения удаленного доступа

Здесь все очень просто: сервер и клиент VNC включены в стандартную комплектацию Ubuntu Desktop. На компьютере с Ubuntu, которым мы собираемся управлять, идем в меню "Система - Параметры - Удаленный рабочий стол", и выставляем нужные настройки. В-первую очередь выставим галочку "Позволять другим пользователям видеть ваш рабочий стол", если необходимо позволить им управлять - выставляем вторую галочку также. Внизу на желтом фоне появляется информация о том, как можно подключиться к вашему компьютеру из локальной сети или интернета. Еще один важный момент: не забудьте установить параметры доступа к вашему компьютера, обязаны ли вы будете разрешать каждое входящее подключение, или будете требовать пароль для доступа к компьютеру. Выставлять вариант свободного доступа и без пароля и без разрешений я крайне не рекомендую - все таки время в сети не спокойное =).

ВНИМАНИЕ! Если вы используете эффекты рабочего стола, то необходимо их ОТКЛЮЧИТЬ на время сеанса удаленного доступа, иначе удаленный доступ либо вообще не будет работать, либо будет дико тормозить.

После этого мы можем подключаться к нашей машине из Ubuntu или Windows. Для подключения из Ubuntu никаких дополнительных настроек не надо: просто идем в меню "Приложения - Интернет - Просмотр удаленных рабочих столов", нажимаем кнопку "Подключиться" в панели инструментов, выбираем протокол VNC и указываем имя компьютера в локальной сети или его IP-адрес в поле "Узел", внизу есть дополнительные параметры на ваше усмотрение: "Полноэкранный режим", "Только просмотр", "Масштабировать". Можно подключаться.

VNC в Windows. Настройка UltraVNC.

Для работы с VNC в Windows мы будем пользоваться пакетом UltraVNC. Раньше я пользовался другим пакетом - RealVNC, однако его серверная часть в бесплатной версии не работает под Windows Vista, 2008 и 7, поэтому я буду рассматривать именно UltraVNC, хотя он и более сложен в настройке.

Если вы используете Windows 2000 или XP, то можете попробовать настроить RealVNC самостоятельно, его можно скачать на официальном сайте: http://realvnc.com/products/free/4.1/download.html .

UltraVNC скачиваем здесь: http://www.uvnc.com/download/index.html (выбираем самую последнюю версию, затем выбираем версию Full, затем win32 для обычной 32-битной ОС, или X64 - для 64-битной).

Запускаем установку. На шаге "Select Components" необходимо выбрать тип установки, я не буду останавливаться на этом подробно - опытные пользователи разберутся с этим и сами, я же рекомендую просто выбрать "Full Installation" - полную установку в том случае, если к этой машине будут подключаться. Если нет - выбираем "Viewer only" - только клиентская часть, чтобы иметь возможность подключаться с этого компьютера.

Если у вас установлена Windows Vista или 7, то установочник также предложит скачать дополнительные не-свободные компоненты, без которых под этими версиями Windows будет немного тормозить изображение и не будет возможности передать нажатия клавиш "ctrl+alt+del". Настоятельно рекомендую установить их, отметив галочку "Download Vista addons files now".

Далее установочник предлагает установить "Mirror Driver", при использовании которого обновление экрана происходит быстрее, а нагрузка на центральный процессор снижается в несколько раз. Рекомендую его установить, отметив галочку "Download the mirror driver". Следующий шаг особо важный, если вы устанавливаете программу вместе с серверной частью. Выбираем:

  • "Register UltraVNC Server as system service" - зарегистрировать сервер как системную службу. Отмечаем, если хотим чтобы серверная часть запускалась сама при включении компьютера и работала в фоновом режиме.
  • "Start or restart UltraVNC Server" - запустить или перезапустить серверную службу СЕЙЧАС (отмечаем, иначе для запуска службы придется перезапустить компьютер).
  • "Create UltraVNC desktop icons" - создать значки на рабочем столе (на ваше усмотрение).
  • "Associate UltraVNC Viewer with the .vnc file extension" - ассоциировать файлы.vnc с программой (желательно отметить).
  • "UltraVNC Server driver install" - установка драйвера серверной части (отмечаем обязательно).

После завершения установки с серверной частью, нам предложат сразу же ее настроить. Не буду объяснять все пункты окна настройки - расскажу о самых важных: Раздел "Authentication":

  • "VNC Password" - пароль для подключения (крайне рекомендую указать!).
  • "View-Only Password" - пароль для подключения в режиме просмотра (только наблюдение без управления клавиатурой и мышью, крайне рекомендую указать!).

Раздел "File Transfer":

  • "Enable" - для включения.

Раздел "Misc.":

  • "Remove Aero (Vista)" - отключить эффекты Aero при подключении клиента. Крайне рекомендуется для повышения быстродействия.
  • "Remove Wallpaper for Viewers" - Не показывать обои рабочего стола клиентам. Крайне рекомендуется для повышения быстродействия.
  • "Capture Alpha-Blending" - отображать прозрачности. Не рекомендуется для повышения быстродействия.
  • "Disable Tray Icon" - убрать значек в системной лотке (трее). Таким образом можно скрыть работу сервера.

"When Last Client Disconnects" - что делать когда все отключаются:

  • "Do Nothing" - ничего не делать
  • "Lock Workstation" - заблокировать экран
  • "Logoff Workstation" - выйти из учетной записи

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

Для подключения к другой машине из Windows используйте ярлык UltraVNC Viewer: здесь нужно ввести IP-адрес или имя компьютера в локальной сети в поле "VNC Sever".

Также может быть интересна опция "View Only" - просмотр экрана без управления компьютером.

Вот в-принципе и все. Если честно, в начале написания этой статьи я и сам не ожидал что в голой только что установленной Ubuntu можно так легко и без проблем настроить удаленный доступ к рабочему столу. Как видите, это намного проще аналогичной задачи в Windows. Конечно вы можете возразить мне, сказав что у Windows есть свой собственный протокол удаленного управления рабочим столом RDP, который настраивается ее стандартными средствами - однако тут я с вами не совсем соглашусь. Во-первых RDP нельзя использовать таким же образом как и VNC для таких задач, как "удаленная помощь другу": при подключении к компьютеру удаленно, локального пользователя выкидывает из его учетной записи, или же удаленный пользователь должен работать в отдельной учетной записи. В то время как удаленные пользователи VNC работают с локальным в одном сеансе (не хватает только второго курсора =)), что позволяет демонстрировать выполнение каких-либо задач через сеть. Ну а во-вторых существуют прекрасные клиенты RDP для Linux, например - krdp, зато вот серверов RDP для других систем, отличных от Windows - нет, так что в плане кросс-платформенности решения от Microsoft, как обычно, остались позади.

О проблемах пишите в комментариях - буду дополнять и исправлять.

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

Может рассматриваться как акт агрессии, но иногда он просто необходим.

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

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

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

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

Клиент TightVNC не тестировался, потому что он очень схож с реализацией TigerVNC. Оба продукта имеют одинаковую кодовую базу, но TigerVNC имеет несколько дополнительных функций.

Как проходило тестирование

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

При тестировании проверялась способность удаленно воспроизводить игру Armegatron. В этой нетребовательная игре на OpenGL на обновление экрана требуются доли секунд времени. Результаты могут быть несколько субъективны, но данный способ оказался очень действенным при демонстрации отзывчивости клиентов.

Клиенты были протестированы совместно с локальным компьютером с 4-х ядерным процессором и 16 гигабайтами памяти в гигабитной локальной сети под Ubuntu 14.04.3. В качестве серверов использовался сервер X11 VNC и официальный сервер NX для клиентов NX. Функциональность на базе протокола RDP поддерживается некоторыми продуктами, но на практике не была протестирована.

Сами клиенты работали на виртуальной машине с 2-х ядерным процессом Core i7, 4Гб ОЗУ и Fedora 23.

Нашли опечатку? Выделите и нажмите Ctrl + Enter

 

 

Это интересно: