Воскресенье, 03.08.2025, 00:43

Блог Владимира Степанова

Реклама
Статистика
Яндекс.Метрика
Онлайн всего: 2
Гостей: 2
Пользователей: 0
Меню
Категории раздела
Установка [14]
Настройка [23]
Установка ПО [11]
Работаем самостоятельно [2]
Хитрости [1]
Разное [1]
Вход на сайт
Реклама
Поиск
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Главная » Статьи » Линукс » Настройка

    Удаленный доступ к рабочему столу в Linux
    Настройка удаленного доступа при помощи NX-сервера/клиента
    Remote desktop под Linux

    Я сервер себе задумал собрать, да так, чтобы это был просто отдельно стоящий системный блок - без монитора, клавиатуры, мыши... И один из самых первых вопросов, с которым я столкнулся - необходимость управлять им. Естественно, дистанционно, по сети. Выбор свой я остановил на програмном обеспечении NoMachine NX Server от компании Nomachine (сайт - http://www.nomachine.com/). Реализация традиционна для систем дистанционного управления (доступа). На компьютере-сервере запущена программа (т.н. "сервер удаленного доступа"), к которой подключаются машины-клиенты. На сайте компании Nomachine в разделе "Загрузка" предлагается два варианта сервера:
    • NX Server for Linux Evaluation - пробная версия коммерческого (платного) продукта.
    • NX Free Edition for Linux - бесплатная версия.
    Комерческая версия по окончании пробного срока перестает работать и говорит, что теперь ее пора либо купить, либо удалить. С другой стороны, основное отличие бесплатной версии от комерческих - в малом количестве маскимально возможных подключений (только два). А мне, собственно, для управления "домашним сервером" больше и не нужно! Поэтому, отправился я качать бесплатную версию. Там размещено примечание. Гласит оно следующее:
    Для установки NX Server for Linux необходимо установить три пакета: клиент (client), узел (node) и сервер (server). Клиент необходим, так как в него входят библиотеки, требующиеся узлу. Узел нужен потому, что в него входит инструментарий, необходимый для сервера. Кроме того, на каждом компьютере-сервере NX должен быть установлен и запущен сервер SSH (SSHD), т.к. програмное обеспечение NX использует механизмы, предоставляемые SSH-подсистемой для аутентификации пользователей.
    Чтож, надо так надо. Скачиваем все три пакета - клиент, узел и сервер. На момент написания данной статьи это были следующие три файла:
    • nxclient-3.2.0-9.i386.rpm
    • nxnode-3.2.0-5.i386.rpm
    • nxserver-3.2.0-7.i386.rpm
    Теперь пакеты нужно установить. Установка пакетов должна осуществляться в строго определенном порядке. Первым необходимо установить клиента. Вторым - узел и уж затем - собственно сервер. Если Вы будете устанавливать пакеты в ином порядке - получите сообщение об ошибке и о том, какой пакет должен был быть уже установлен. Linux Mandriva (который установлен на моем "сервере") позволяет устанавливать пакеты несколькими способами. Можно, например, в графическом режиме (если в системе был установлен пакет gurpmi - графический интерфейс к консольному инсталятору пакетов urpmi). Вот так он выглядит:



    Рис. №_1 Графический интерфейс установки пакетов - gurpmi

    Запускаем установку пакета "клиент". Установка пакетов (программ) - прерогатива администратора системы. Поэтому, после нажатия кнопки "Установить" Вас попросят ввести пароль пользователя root (администратора). Вводим пароль - пакет установлен. Повторяем еще два раза - для узла и для сервера.

    С другой стороны, установка пакетов возможна без использования графических интерфейсов (GUI) - в консоли (командной строке). Выполнить установку можно, например, с помощью команды rpm, или команды urpmi. После стольких лет привыкания народа к GUI это может поначалу показаться дикостью. Но, как я уже сказал ранее, устанавливать программы в систему может только root. Более того, по окончании установки NX-сервера нам нужно будет его еще запустить и настроить. А настройка программы также относится к числу административных задач, и для данного сервиса выполняется в консоли от имени "супер"-пользователя root (администратора). С другой стороны, в консоли стать суперпользователем можно всего одной командой - причем, раз и до конца сеанса. Итак, запускаем консоль. Для этого мышью кликаем: "Меню" -> "Утилиты" -> "Консоль". При этом, в консоль мы сначала попадаем с правами рядового пользователя (от имени которого мы, собственно, вошли в систему). В приведенных ниже примерах я описываю свои действия на своем "сервере". Мое имя пользователя - dmitry, а имя моего сервера - smb-svr. И это отчетливо видно по приглашению командного интерпретатора (консоли) - в нем до "собаки" (символа "@") указано имя текущего пользователя, после - имя (текущего) компьютера, а затем через пробел - имя текущего каталога. В моем случае выглядит это так:
    [dmitry@smb-svr ~]$
    Символ "~" обозначает домашний каталог (для текущего пользователя).
    Чтобы стать суперпользователем вводим команду:
    su
    В ответ на появившееся приглашение вводим пароль суперпользователя. Если пароль введен правильно, то приглашение командного интерпретатора изменится и примет следующий вид:
    [root@smb-svr dmitry]#
    То есть, мы теперь - пользователь root, компьютер не поменялся, а папка-то была домашней для пользователя dmitry и реально называется тоже dmitry, что мы и видим. И вот теперь, с правами администратора, мы, как говорится, "во всеоружии".

    Если до этого момента Вы еще не установили пакеты в графическом режиме, то теперь самое время сделать это в консоли. А так как двумя строками выше мы уже стали суперпользователем (root-ом), то установка проблем не вызовет, и пароль вводить каждый раз не будет необходимости. Переходим в папку, в которую загрузили установочные пакеты программ. Последовательно вводим три команды как показано ниже (в одной строке - одна команда):
    rpm -i nxclient-3.2.0-9.i386.rpm
    rpm -i nxnode-3.2.0-5.i386.rpm
    rpm -i nxserver-3.2.0-7.i386.rpm
    Каждая из команд устанавливает соответствующий пакет. После их выполнения с установкой сервера NX покончено. Переходим к его настройке. Данная процедура должна выполняться в консоли от имени "суперпользователя" root (администратора). Если Вы устанавливали пакеты в графическом режиме, пришло время запустить консоль и переключиться в режим администратора, как описано выше. Если же установку пакетов вы выполняли в режиме командной строки, то мы все еще в консоли и все еще с правами суперпользователя. И можем приступать к непосредственной настройке сервера удаленного доступа. Следующая команда может поначалу смутить людей, умеющих читать латинские буквы. Мы ж вроде как установили уже всё?! Ан нет! Итак, вводим:
    ./nxserver --install
    В ответ получаем сокращенный протокол установки сервера удаленного доступа. Примерно такой:
    NX> 701 Installing: server at: Пнд Апр 16 12:08:23 2007.
    NX> 701 Autodetected system: mandrake.
    NX> 701 Install log is: /usr/NX/var/log/install.
    NX> 701 Checking NX server configuration using /usr/NX/etc/server.cfg file.
    NX> 723 Cannot start NX statistics:
    NX> 709 NX statistics are disabled for this server.
    NX> 701 Version '3.2.0-7' installation completed.
    NX> 701 Bye.
    Нас в данном случае больше всего интересует лишь одно слово - "completed" (завершено). То есть, установка сервера завершена. Кому интересно, может просмотреть подробный протокол установки в файле /usr/NX/var/log/install. Но, чтобы уж убедиться наверняка, что сервер запущен и работает, вводим следующую команду:
    ./nxserver --status
    Правильный ответ сервера выглядит так:
    NX> 900 Connecting to server ...
    NX> 110 NX Server is running.
    NX> 999 Bye.
    Фраза "NX Server is running" обозначает именно то, чего мы и добивались - сервер работает! Но, скажу сразу, попытка на этом этапе войти в систему с другого компьютера потерпит неудачу! Этому есть две причины. Одна из них - ключ SSH-шифрования. Помните, ранее, в примечаниях по установке сервера было сказано: "...програмное обеспечение NX использует механизмы, предоставляемые SSH-подсистемой для аутентификации...". Не зарываясь особо в дебри, скажу лишь, что при установке NX-сервера создается специальный файл - т.н. "ключ SSH-шифрования". Называется файл "default.id_dsa.key" и расположен он в папке "/usr/NX/share/keys". Этот ключ НЕОБХОДИМО каким-то доступным Вам образом скопировать на те компьютеры, с которых планируется удаленный вход в данный сервер! Впоследствии, ключ этот на тех компьютерах будет использован при настройки клиента удаленного доступа (см. ниже).

    Вторая причина - использование NX-сервером собственной базы пользователей, которым разрешен удаленный вход в сервер. И чтобы пользователь dmitry смог в дальнейшем получить доступ к серверу извне, его нужно вписать в эту самую базу. Выполняется это командой:
    ./nxserver --useradd dmitry
    По этой команде сервер в своей базе создаст пользователя (в данном примере - dmitry). Всё? Нет! Своя база пользователей - это не единственное, что у NX-сервера "свое". Есть еще и своя база паролей! По этому, чтобы для пользователя dmitry был возможен успешный удаленный вход, необходимо NX-серверу указать пароль этого самого пользователя. Вводим команду:
    ./nxserver --passwd dmitry --system
    В ответ на приглашение вводим пароль для пользователя dmitry, и в ответ на второй запрос повторяем его (пароль) для верификации. Вот теперь со стороны сервера всё готово - в базу заведен пользователь и ему создан пароль. Можем для проверки задать нашему серверу вопрос о зарегестрированных на нем пользователях. Команда имеет следующий вид:
    ./nxserver --userlist
    В ответ на эту команду сервер выводит список своих пользователей. Пока что мы ввели одного лишь пользователя, что, собственно, и наблюдаем:
    NX> 149 Listing NX users:

    Username
    --------------------------------
    dmitry

    NX> 999 Bye.
    Итак, наш сервер запущен, и в нем заведен пользователь. Теперь мы можем входить в систему дистанционно (с другого компьютера). Нужно лишь проверить еще две вещи, которые могут помешать этому. Перейдем теперь к компьютеру-клиенту, с которого мы собираемся дистанционно управлять сервером. Для этого на компьютере нужно установить и настроить программу-клиент. На момент написания данной статьи на сайте компании Nomachine были доступны к загрузке бесплатные клиенты для следующих операционных систем: Выбираем требующийся для Вашей ОС пакет, загружаем и устанавливаем. Как устанавливать пакет в Linux, было описано выше (с поправкой на тот факт, что устанавливать нужно лишь один пакет - клиент). Процедуру установки в Windows, я думаю, описывать излишне. Про Mac OSX и Solaris мне сказать нечего - я с этими ОС не работал. В ОС Windows при первом запуске клиента будет предложен "волшебник" - NX Connection Wizard. В нем указывается имя сессии (Вы придумываете его самостоятельно), имя сервера, к которому Вы планируете подключиться, номер порта, ОС сервера, тип и размер рабочего стола, и т.д. По окончании работы "волшебника" на рабочем столе будет создан ярлык с именем сессии, придуманным Вами. Впоследствии запускать сеанс входа в сервер будем именно с его помощью. Настройку параметров клиента в любое время можно запустить следующим образом: "Пуск" -> "Программы" -> "NX Client for Windows" -> "NX Client for Windows". Жмем и видим следующее окно:


    В этом окне мы сначала выбираем имя сессии в меню "Session" (имя "black box control" в примере на рис. 2 - это я так назвал сессию у себя), а затем жмем кнопку "Configure..." Открывается меню настройки параметров сессии, как показано ниже слева:


    В этом окне мы видим несколько закладок. В закладке General (Общее) - все те же настройки, которые были в "волшебнике". Проверим их на всякий случай еще раз.
    Теперь подробнее про ключ SSH-шифрования. Помните, ранее (при установке сервера) я уже обращал Ваше внимание на файл default.id_dsa.key. И говорил, что его нужно любым доступным способом скопировать на компьютер, с которого планируется входить в сервер. Надеюсь, Вы так и сделали. Теперь его время пришло. Нажимаем кнопку "Key..." (левая половина рис. 3). Появляется окно ввода ключа, как показано на рис. 3 справа. В этом окне мы нажимаем кнопку "Import" и на запрос программы указываем путь к файлу default.id_dsa.key. После этого в окне появляется этот самый ключ - набор букв, символов и цифр, являющийся по сути паролем, который NX-сервер при установке сгенерировал автоматически. (В реальном случае Вы конечно увидите именно буквы, символы и цифры, а не размазанные пятна как на рис. 3 - все-таки, там был мой пароль, вот я его и "размылил"). Нажимаем кнопку "Save" два раза: первый раз в окне ввода ключа (которое после этого закроется), а второй - в окне настройки параметров сессии. Напоследок - любимая кнопка "OK", и клиент готов!

    После нажатия кнопки "OK" мы возвращаемся в окно запуска NX-клиента, показанное на рис. 2. В нём - вводим имя пользователя и пароль (поля "Login" и "Password", соответственно). Жмем кнопку "Login" и немножко ждем. Результат может выглядеть например так, как показано на рис. 4 ниже. В данном примере (для наглядности) я включил режим дисплея как "800х600" - и благодаря этому рабочий стол KDE моего Linux-сервера разместился в окне...




    Напоследок - подсказка:

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

    Вместо послесловия...


    (С) Дмитрий Харций, апрель 2008 г.

    ВВЕРХ СТРАНИЦЫ



    Источник: http://dmitrykhn.homedns.org/dm/nx_svr.htm
    Категория: Настройка | Добавил: Raxxell (01.10.2010)
    Просмотров: 10239 | Комментарии: 1 | Теги: Линукс, удалённый рабочий стол, linux | Рейтинг: 0.0/0
    Всего комментариев: 1
    1 Kaloedoff  
    0
    Подскажите почему при работе в этом клиенте не видно флеш носителя, и нет печати, а возвращаясь на исходный рабочий стол, и печать есть и носитель видно?

    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]