FreeNX - удаленный терминал - CentOS Wiki

NX сервер удаленного доступа и администрирования в реализации FreeNX

NX и FreeNX сервера доступны только для CentOS4 и CentOS5

Содержание

  1. Установка сервера NX/FreeNX
  2. Основная аутентификация
  3. Установка клиента NoMachine
  4. Поиск и устранение неисправностей
  5. Разное

NX является сервером терминалов удаленного доступа. Данное решение базируется на корпаративном классе технологий с открытым кодом от компании NoMachine. Благодаря хорошому сжатию трафика, устойчивости сессии и управлению ресурсами X-Window систем, NX позволяет запускать любое графическое приложение через любые сети связи, как если бы вы сидели сразу рядом перед вашим CentOS (сервер) компьютером. На ряду с интеграцией, это возможность совместного использования всей мощности ресурса, печати и аудио в мире Linux/Unix.

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

1. Установка NX/FreeNX на сервере

На данный момент существуют реализации NX и FreeNX для CentOS в репозитории Extras.

Чтобы установить стабильную версию NX/FreeNX, выполните на вашем сервере следующую команду:

# yum install nx freenx

Вы также можете скачать пакеты RPMS из:

 

и SRPMS из:

Примечание: Иногда возникают вопросы необходимости установки клиента No Mashine на вашем сервере с NX. Также если у вас возникли трудности, такие как невозможность закрыть клиента, пожалуйста, скачайте последнюю версию NO Mashine Linux Client RPM (см. ссылку ниже) и установите его на свой NX сервер. Данные вопросы реже возникают в версии NX > 3 и FreeNX > 0.7.

2. Основная аутентификация

Примечание: Хотя этот раздел не является обязательным, рекомендуется, чтобы key-based ключи аутентификации были реализованы.

Скопируем минимальный конфигурационный файл для nxserver:

# cd /etc/nxserver ; cp node.conf.sample node.conf

Если ваша машина подключена к интернету, вы, вероятно захотите запретить SSH аутентификацию по паролю (рекомендуется, но не обязательно). Измените /etc/ssh/sshd_config файл, добавив следующие строки:

PasswordAuthentication no
AllowUsers nx

Не забудте перезапустить демона sshd после внесения изменений.

# service sshd restart

По умолчанию, если вы попытаетесь подключиться к серверу NX, он будет использовать nx аккаунт для ssh соединения (с ключем аутентификации), но он, также будет пытаться для подключения по ssh указать свое имя пользователя/пароль для хоста к которому вы подключаетесь. Так как мы отключили PasswordAuthentication (рекомендуемый метод), мы должны использовать NX базу для обеспечения сквозной аутентификации. Убедитесь, что файл /etc/nxserver/node.conf содержит следующие строки:

ENABLE_PASSDB_AUTHENTICATION="1"

Затем создайте для себя posix аккаунт (useradd/passwd, если не сделали раньше). Добавте вновь созданного пользователя в nxserver базу данных:

nxserver --adduser myuser
NX> 100 NXSERVER - Version 1.5.0-60 OS (GPL)
NX> 1000 NXNODE - Version 1.5.0-60 OS (GPL)
NX> 716 Public key added to: /home/myuser/.ssh/authorized_keys2
NX> 1001 Bye.
NX> 999 Bye

Назначение пароля для этого пользователя:

nxserver --passwd myuser
NX> 100 NXSERVER - Version 1.5.0-60 OS (GPL)
New password:
Password changed.
NX> 999 Bye

Внимание: Не забудьте добавить нового пользователя в строчке AllowUsers в файле sshd_config (например: AllowUsers nx myuser), а затем перезагрузить службу sshd ( service sshd reload).

далее

 

3. Установка клиента NoMachine

NoMashine не позволяет свободного распространения своего клиента, поэтому он должен быть скачан с их сайта. Есть клиенты для Linux, Mac OSX, Solaris и Windows.

 

Примечание: 3.1.x и 3.0.x версии клиентов Nomashine отлично работают с CentOS в решении FreeNX/NX.

 

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

инструкция

NX Connection Wizard
  • Откройте мастер NX подключения. Введите имя сессии, имя хоста (или ip адрес), порт и тип подключения к интернету. Нажмите далее кнопку "NEXT".

NX Connection Wizard
  • Выбирите тип соединения, рабочий стол, который вы хотите использовать и размер рабочего стола. При использовании SSL, шифруется не только трафик, но и используется только SSL порт. Это значит, что только SSL порт должен быть открыт для входящего трафика, если вы подключаетесь из-за пределов брандмауэра.
Учетные данные авторизации в момент установления соединения всегда зашифрованы. Для повышения производительности, вы можете отключить шифрование трафика.

Нажмите далее кнопку "NEXT".

NX Connection Wizard
  • Для создания ярлыка соединения на рабочем столе - выберите "Create shortcut on desctop", а затем выберите показ диалогового окна конфигурации соединения - "Show the Advanced Configuretion dialog". Далее нажмите кнопку "Finish".
NX testmashine
  • В окне конфигурации - вкладка "Advanced", вы должны увидеть элементы настройки и кнопку "Key". На сервере ssh, к которому вы должны будете подключиться, перейдите в каталог /etc/nxserver и отредактируйте файл client.id_dsa.key (вы должны быть root-ом чтобы открыть этот файл). Скопируйте весь текст (в том числе строки BEGIN DSA PRIVATE KEY и END DSA PRIVATE KEY), который появится в коробочке - "General - Key management" после нажатия кнопки "Key". Вставте его взамен старого текста в файл - client.id_dsa.key. Затем нажмите кнопку - "Save".
  • Теперь вы должны иметь возможность подключаться к серверной машине и открывать рабочий стол на клиенте. Пожалуйста смотрите поддержку NoMachine для получения дополнительной информации.

 

4. Поиск неисправностей

Загрузка процессора (100 %), в клиенте NX на Windows Vista.

Некоторые пользователи сообщили о загрузке прорцессора 100 % на клиенте Nomachine NX при работе в Windows Vista. Данная прпоблема решилась оключением DirectDraw на клиенте.

 

5. Разное

Если вы устанавливаете FreeNX на удаленном сервере, вам также необходимо установить среду рабочего стола на компьютере для запуска удаленной сессии. Это легко сделать. Для Gnome выполните следующую команду:

yum groupinstall 'GNOME Desktop Environment''X Window System'

 

FreeNX обычно делает соединение на адрес 127.0.0.1, то есть локальный адрес. Если вы не меняли конфиг по умолчанию sshd_config, то демон sshd будет доступен по этому именно адресу.

Однако, если у вас есть изменения в строке listenAddress в /etc/ssh/sshd_config, это может стать причиной проблем. Убедитесь, что sshd доступен на 127.0.0.1. Это можно проверить командой:

netstat -an |grep 22

Результат должен быть примерно таким:

tcp    0   0 0.0.0.0:22       0.0.0.0:*         LISTEN

tcp    0   0 :::22       0.0.0.0:*              LISTEN

(строки выше предполагают, что вы используете соединение по умолчанию порт 22.) Вывод показывет, что sshd слушает все адреса.

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

tcp      192.168.1.20:22        0.0.0.0:*    LISTEN

это означает, что sshd слушает соединения только по адресу 192.168.1.20. Это приведет к невозможности соединения FreeNX, так как он пытается подключиться к 127.0.0.1

 

Чтобы это исправить, добавте еще одну строку ListenAddress в /etc/ssh/sshd_config. Как здесь

ListenAddress 127.0.0.1

(Она должна распологатоься на отдельной строчке от остальных ListenAddress записей).

При удаленном подключении, используйте команду screen. Это поможет вам перезагрузить sshd, который оключит в этот момент удаленную ssh сессию. (Есть и другие способы, чтобы перегрузить демон sshd без отключения себя, но screen является одним из самых простых.)

 

screen

Это откроет вам новую командную строку. Далее перезагрузите sshd.

/etc/init.d/sshd restart

Воспользуйтесь командой netstat -an снова, чтобы проверить трансляцию на 127.0.0.1.

netstat -an 

Теперь вы должны увидеть что-то на подобие этого:

tcp      192.168.1.20:22        0.0.0.0:*    LISTEN

tcp      127.0.0.1:22           0.0.0.0:*    LISTEN

FreeNX теперь может подключиться.

Автор: Александр