Методы удаленного доступа к Linux GUI. Использование SSH для подключения к удаленному серверу Ubuntu Удаленное управление ubuntu из windows

И Vino . Общий принцип работы: с компьютера под Windows создается защищенный SSH-туннель до Ubuntu и через него создается VNC-подключение (удаленный рабочий стол).

Статья делится на четыре части:

  • Установка и активация SecureShellServer: sudo apt-get install openssh-server service ssh status ssh start/running, process 2006

    Проверка открытости 22 порта (порт, используемый по умолчанию SSH):

    Netstat -tulpan | grep:22 tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -

    В Linux ля подключения по SSH с использованием локального проброса портов (local port forwarding) используется в общем виде следующая команда

    Ssh -C -p -L <локальный_порт>:<адрес_машины>:<удаленный_порт> -l <пользователь>

    Это означает, что любое соединение, исходящее из локального компьютера (localhost) через порт <локальный_порт> будет перенаправлено по SSH-тунелю на <удаленный_порт> удаленной машины.

    Существует некоторая путаница относительно какие же IP указывать в и <адрес_машины>. Если компьютер находится за роутером (NAT’ом) то <адрес_машины> должен быть внутренним ip-адресом компьютера (например, 10.0.0.5), а в внешним ip-адресом роутера. Если компьютер подключается к Интернету напрямую, то адреса и <адрес_машины> будут одинаковыми.

    Подводя итог про туннелирование рассмотрим пример:

    Ssh -l myuserid -L 7777:work:22 gate ssh -p 7777 localhost

    Данная комманда делает следующее: создается защищенное ssh-подключение к машине gate под пользователем myuserid. Одновременно с этим начинается прослушивание на локальной (с которой осуществлялось подключение) машине на порту 7777. Если организуется подключение на этот порт (опять изнутри самой локальной машины), то это соединение туннелируется в ssh-соедиенние, доходит до машины gate и с нее осуществляется соединение на машину work на 22 порт. После этого мы проверяем работу туннеля — подключаясь по ssh на локальный порт 7777 мы в итоге подключаемся к машине work (при учете что на ней настроен ssh сервер на порту 22).

    Усиленная защита при использовании SSH-туннеля достигается за счет того, что только один порт должен быть открыт наружу (SSH) и зашифрованное подключение будет идти только через этот порт.
    На сервере проверяем присутствует ли папка

    /home/<имя_пользователся>/.ssh

    /home/<имя_пользователся>/.ssh/authorized_keys

    в ней, если нет, то создаем под пользователем <имя_пользователся>(как правило, это первый пользователь в системе или администратор)

    Mkdir ~/.ssh cd ~/.ssh touch authorized_keys

    Настраиваем ssh для большей безопасности. Файл настроек лежит по адресу

    /etc/ssh/sshd_config

    Делаем резервную копию

    Sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original

    В общем случае следует изменить:

    • TCP-порт прослушивания (по умолчанию 22):
      Port <Порт_на_котором_SSH_будет_ждать_подключения>
    • Отключить ненадежный старый протокол SSH ver.1:
      Protocol 2
    • Разрешить аутентификацию парой открытого/закрытого ключей:
      PubkeyAuthentication yes
    • Указывать, где смотреть на разрешенные публичные ключи:
      AuthorizedKeysFile %h/.ssh/authorized_keys
    • Отключить возможность аутентификации с помощью пароля (можно сделать и позже, после удачного первого соединения):
      PasswordAuthentication no

    Для большей безопасности следует настроить на аутентификацию SSH с помощью открытого ключа.
    Разрешенные к подключению по ssh публичные ключи хранятся в файле

    ~/.ssh/authorized_keys

    Генерируем пару открытый/закрытый ключей на машине, с которой будем подключаться (будет описано далее) и копируем открытый ключ в этот файл.

    Особое внимание нужно обратить на форматирование – весь ключ должен быть размещен в одну строку и начинаться с «ssh-rsa » и доступ к файлу (-rw——- (600)).

    Настраиваем правильный доступ к файлу с ключами

    Chmod go-w $HOME $HOME/.ssh chmod 600 $HOME/.ssh/authorized_key chown `whoami` $HOME/.ssh/authorized_keys

    В файле настроек /etc/ssh/sshd_config изменяем

    StrictModes no

    Для применения настроек, внесенных в файл /etc/ssh/sshd_config , необходимо перезапустить демон sshd.

    Sudo /etc/init.d/ssh restart

  • Скачиваем putty.exe.
    Перед тем как погрузиться в настройки Putty необходимо сделать несколько замечаний.
    • Putty сохраняет настройки в профили.
    • Для сохранения всех настроек в профиль нужно перейти в меню Session в графе Saved Session ввести имя профиля и нажать Save. Для того чтобы загрузить определенный профиль в Putty в том же меню нужно выбрать нужный профиль по имени и нажать Load.
    • Для автоматической загрузки определенного профиля при запуске Putty нужно создать ярлык на exe-файл и в строке Рабочая папка дописать после пути к exe файлу добавить
      -load <имя_профиля>

    Для улучшения безопасности будет использоваться:

    • локальный проброс портов
    • система с открытым ключом

    В случае использования SSH-подключения для доступа по VNC (удаленному рабочему столу) необходимо настроить проброс портов, так называемый local port forwarding . Он используется для повышения безопасности, так как при использовании VNC данные передаются в открытом виде.

    Для проброса портов в Putty переходим в меню Connection -> SSH -> Tunnels и добавляем 5900 как "Source port", localhost:5900 в "Destination" и нажимаем Add.

    Для создания пары открытого/закрытого ключей можно использовать программу Puttygen. Скачиваем Puttygen.exe . В параметрах выбираем SSH-2 RSA, количество битов устанавливаем 2048 и нажимаем кнопку Generate.

    Для дополнительной защиты можно дважды прописать "passphrase". Если есть необходимость при SSH-соединении сразу входить в консоль, то поле можно оставить пустым.

    Открытый ключ сохраняется в понятном только Putty форматировании. Поэтому для установки его в Linux нужно сделать следующее:

    1. Пока puttygen еще открыта – скопировать публичный ключ в разделе "Public key for pasting…" И вставить в файл authorized_keys на сервере.
    2. Указать Putty на файл закрытого ключа в меню Connection -> SSH -> Auth в разделе "Private key file for authentication" сгенерированный файл*.ppk.
  • По умолчанию в Ubuntu уже включен VNC-сервер Vino. Для его настройки нужно перейти в Menu -> System -> Preferences -> Remote Desktop и включить удаленный доступ. В настройках можно включить аутентификацию по паролю, но нельзя настроить порт прослушивания (используется 5900).
    Для возможности более детальной настройки рекомендуется установить X11VNC.
  • Скачиваем TightVNC и устанавливаем. Для целей данной статьи достаточно выбрать только роль клиента.

    Запускаем на Windows машине TightVNC и в поле вбиваем

    Localhost:5900

Регулярно обращаются по поводу GUI и удаленного доступа к нему на виртуальных серверах с Linux, несмотря на то что в интернете достаточно много материалов освещающих эту проблему. Поэтому, для наших пользователей мы решили собрать всё по этой теме в одну статью.

Также можно пробросить RDP-шный трафик через SSH-туннель. Для этого нужно поправить конфигурационный файл xrdp:

$ vi /etc/xrdp/xrdp.ini
В секцию нужно добавить строку: address=127.0.0.1

$ systemctl restart xrdp
Проверить, что всё правильно, можно так:

$ nmap -p 3389 Starting Nmap 6.47 (http://nmap.org) at 2016-10-04 13:07 MSK Nmap scan report for unspecified.mtw.ru () Host is up (0.0087s latency). PORT STATE SERVICE 3389/tcp closed ms-wbt-server
Затем если вы используете cygwin или mingw, linux или mac os:

Ssh root@ -L 3389:localhost:3389
Если PuTTY:

Запустите PuTTY. В древовидном меню слева Connection → SSH → Tunnels. Далее добавляем новый Forwarded Port (Source port: 3389, Destination: localhost:3389). Нажимаем Add.

VNC

Клиент:

Для примера поставим эту DE:

$ 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

$ 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
И настроив сессию как показано ниже, можно будет запустить браузер на удаленном сервере, а на вашей машине откроется окно его отображающее.

Удаленный рабочий стол позволяет подключиться к вашему компьютеру через интернет с помощью другого компьютера или даже смартфона. Вам может достаточно часто понадобится сделать что-то на другом компьютере, даже если вы не рядом с ним. Такая возможность есть и у 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, для которого нужно создать несколько конфигурационных файлов. Если у вас остались вопросы, спрашивайте в комментариях!

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


В этой статье я подробно расскажу о протоколе 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, как обычно, остались позади.

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


Дата публикации: вторник, 19 января 2009г. 10:43:53
Перевод: Коваленко А.М.
Дата перевода: 4 августа 2009 г.

Вы используете как Windows, так и Linux? Можете ли вы удаленно управлять Windows из Linux (Ubuntu либо другого дистрибутива) или Linux из Windows? Несомненно, можете. Подобно тому, как используется Подключение к удаленному рабочему столу между платформами Microsoft (или удаленное управление между машинами с Linux), возможно и управление рабочим столом из разных платформ. Вы можете щелкать мышью на рабочем столе и запускать приложения, точно так же, как если бы вы сидели прямо перед компьютером.

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

Выбор протокола удаленного рабочего стола

Приложения удаленного рабочего стола обычно используют либо Протокол Удаленного рабочего стола (RDP), либо протокол Виртуальной Вычислительной Сети (VNC). Для установки удаленного подключения оба узла (сервер и клиент) должны поддерживать один и тот же протокол. Проблема заключается в том, что не все операционные системы (ОС) используют одинаковые протоколы по умолчанию. Вдобавок к этому, некоторые дистрибутивы Linux и некоторые редакции Windows не содержат в себе ни серверного, ни клиентского приложения удаленного рабочего стола, либо не содержат приложение удаленного рабочего стола вообще.

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

Обратите внимание:

  • Удаленный рабочий стол VNC обычно медленнее, чем RDP соединения, тем не менее, VNC обычно легче реализовать на различных платформах.
  • Для лучшей производительности и безопасности, вы можете использовать свободный сервер и клиентов NoMachine"s NX или сервер и клиентов FreeNX, но он более сложный в настройке, здесь требуется думать.
  • Возможно также, обеспечить поддержку RDP соединений на машинах с Linux, например, используя xrdp сервер.

Открытие брандмауэра (межсетевого экрана)

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

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

В Linux, вам, скорее всего, необходимо будет вручную добавить правила для входящих соединений в брандмауэре, на компьютере принимающем запросы на подключение. Если необходимо, вы можете вызвать из меню браузер и поискать в Google информацию о том, как настроить брандмауэр. Ваш дистрибутив Linux может включать GUI (графический интерфейс пользователя) для вашего брандмауэра или вы можете использовать командную строку для его настройки. Таким же образом добавьте исключение или правило для того, чтобы разрешить трафик на соответствующих портах, перечисленных ниже.

  • RDP использует TCP порт 3389
  • VNC использует порты, начиная с 5900 (каждое удаленное соединение к серверу использует разные порты; дисплей 1 использует порт 5901, дисплей 2 использует порт 5902, и т. д.). Лучшим методом, поэтому, будет определение области портов (таких как 5900 - 5905), когда вы создаете правило брандмауэра или исключения.

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

Использование VNC сервера и клиента в Ubuntu

Если вы используете Ububntu, то вы уже имеете установленные и готовые к использованию клиент и сервер VNC. (Эта статья базируется на дистрибутиве Ubuntu Desktop 8.10 Intrepid Ibex.) Для того, чтобы иметь возможность принимать удаленные соединения, просто выберете в меню Система > Свойства > Удаленный рабочий стол . В диалоговом окне настройте желаемые ресурсы общего пользования и параметры безопасности. Список команда/адрес представлен вам для указания других компьютеров в локальной сети с установленным Ubuntu или другим дистрибутивом Linux, с которых будет производиться подключение.

Для использования VNC вьюера (просмотрщика) на Ubuntu, выберите Приложения > Служебные > Терминал . Если вы подключаетесь к компьютеру, на котором установлен Ubuntu, наберите команду предлагаемую Ubuntu. Если производится подключение к компьютеру, на котором установлен другой дистрибутив Linux, применяется следующий формат команды:

$ vncviewer Имя_Компьютера_или _IP_адрес:#

так как показано на рисунке 1. Эта строка содержит команду, vncviewer , за которой следует имя или IP адрес компьютера (или Internet IP, если подключение производится через web), оканчиваясь двоеточием и ID (идентификатором) дисплея (туннеля). Если производится подключение к компьютеру, на котором установлен Windows, то двоеточие и номер дисплея не указываются, в этом случае формат команды следующий:

$ vncviewer ИмяКомпьютера_или_IP_адрес

рисунок 1

Установка VNC Клиента и Сервера на другие дистрибутивы Linux

Если вы используете дистрибутив Linux, отличный от Ubuntu, поищите в его хранилищах соответствующие пакеты для установки VNC сервера и клиента. Если таких пакетов нет, то вы можете скачать TightVNC напрямую с их веб-сайта и следовать инструкциям по сборке и установке.

Сервер TightVNC/RealVNC не имеет графического интерфейса, вы должны использовать командную строку, но не беспокойтесь - это легко. Просто откройте Терминал , наберите vncserver и нажмите Enter. При первом запуске вам будет предложено создать пароль для VNC соединений. После того, как вы установили пароль, будет автоматически настроен дисплей или туннель, как показано на рисунке 2.


рисунок 2

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

Ниже даны различные опции команды vncserver , которые полезно запомнить:

  • Для получения помощи используйте опцию -help или введите команду man vncserver .
  • Используя опцию -name desiredname вы можете назначить имя определенному туннелю или дисплею, которое отображается в строке заголовка VNC клиента, когда производится удаленное подключение к этому дисплею.
  • Поправка:# позволяет вам вручную определить номер туннеля или дисплея.
  • Используя опцию -geometry WxH вы можете установить ширину и высоту экрана для отображения удаленного рабочего стола.
  • Добавив -depth # вы можете установить глубину цвета от 8 до 32 бит на пиксель.
  • Для закрытия VNC туннеля используйте опцию -kill:# , заменив значок решетки желаемым идентификатором туннеля (дисплея).

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

Для графического интерфейса вы можете, как правило, настроить опции из диалогового окна. Когда подключаетесь к машине с дистрибутивом Linux, наберите имя компьютера или IP адрес удаленной машины (или Internet IP когда подключаетесь через web), затем двоеточие, ID туннеля или дисплея и нажмите Enter. Например, ericlinuxbox:1 или 192.168.0.122:1 . Если подключаетесь к машине с Windows, двоеточие и номер дисплея не требуется. Для подключения из терминала, введите vncviewer и информацию об узле, таким же образом как показано на рисунке 1 ранее.

Установка VNC клиента/сервера в Windows

TightVNC также предлагает клиента и сервер в версии для Windows на его странице для скачивания . После установки TightVNC вы можете запустить сервер из меню Пуск (прим. переводчика: Пуск > Все Программы > TightVNC ), выбрав Запустить TightVNC сервер. При этом появится диалоговое окно свойств (см. рисунок 3), где вы должны назначить пароль для входящих сессий.

рисунок 3

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

Если вы подключаетесь к удаленному компьютеру из Windows, выберите ярлык TightVNC Вьюер из стартового меню. Подобным образом, для подключения из других платформ, введите имя или IP адрес удаленного компьютера (или Internet IP адрес, когда подключаетесь через web), и когда подключаетесь к компьютеру с Linux включите в команду двоеточие и номер дисплея.

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

Eric Geier , автор множества книг о компьютерах и сетях, включая книги "Домашняя Сеть. Все в одном. Настольное руководство для чайников" (Wiley 2008) и "100 вещей, которые вам необходимо знать о Microsoft Windows Vista" (Que 2007).