FreeNX - удаленный терминал - CentOS Wiki
NX сервер удаленного доступа и администрирования в реализации FreeNX
NX и FreeNX сервера доступны только для CentOS4 и CentOS5
Содержание
|
NX является сервером терминалов удаленного доступа. Данное решение базируется на корпаративном классе технологий с открытым кодом от компании NoMachine. Благодаря хорошому сжатию трафика, устойчивости сессии и управлению ресурсами X-Window систем, NX позволяет запускать любое графическое приложение через любые сети связи, как если бы вы сидели сразу рядом перед вашим CentOS (сервер) компьютером. На ряду с интеграцией, это возможность совместного использования всей мощности ресурса, печати и аудио в мире Linux/Unix.
При провидении подключения, у вас имеется компьютер-сервер (к которому вы будете подключаться и рабочий стол которого вы будете наблюдать) и клиентского компьютера (компьютера, с которого вы будете делать соединение с сервером).
1. Установка NX/FreeNX на сервере
На данный момент существуют реализации NX и FreeNX для CentOS в репозитории Extras.
Чтобы установить стабильную версию NX/FreeNX, выполните на вашем сервере следующую команду:
# yum install nx freenx
Вы также можете скачать пакеты RPMS из:
- http://mirror.centos.org/centos/4/extras/i386/RPMS/
- http://mirror.centos.org/centos/5/extras/i386/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.
инструкция
![]() |
|
|
![]() |
Нажмите далее кнопку "NEXT". |
|
![]() |
|
|
![]() |
|
- Теперь вы должны иметь возможность подключаться к серверной машине и открывать рабочий стол на клиенте. Пожалуйста смотрите поддержку 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 теперь может подключиться.